Files
BeWoPlaner/Host/ReportView.aspx.cs

998 lines
35 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Security;
using System.Web;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BeWo.Data;
using BeWo.Report;
using BeWo.Service.Security;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
using Page = System.Web.UI.Page;
using System.Globalization;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared.ReportRequests;
namespace Host
{
public partial class ReportView : Page
{
private Dictionary<string, object> slicedToken;
private AbstractReportCreator reportCreator;
protected void Page_Load(object sender, EventArgs e)
{
try
{
if(!SessionFacade.IsUserLoggedIn())
{
throw new SecurityException("Anmeldung erforderlich!");
}
var report = CreateReport();
using (var repxStream = new MemoryStream())
{
report.PrintingSystem.SaveDocument(repxStream, new NativeFormatOptions { Compressed = true });
//var test = new XtraReport();
//test.PrintingSystem.LoadDocument(repxStream);
var bytesToWrite = repxStream.ToArray();
Response.OutputStream.Write(bytesToWrite, 0, bytesToWrite.Length);
}
}
catch (Exception ex)
{
Response.Write(ex.Message + "\n\n" + ex.StackTrace);
}
}
//Änderungen ServiceCategoryAuswahl bei Quittierungsbeleg wieder einkommentieren + testen
private XtraReport CreateReport()
{
var token = Request.Params["token"].Split(',')[0];
if (SecurityUtils.CheckToken(token, Request.Url.ToString()))
{
slicedToken = SecurityUtils.sliceToken(Request.Params["token"].Split(',')[0], Request.Url.ToString());
reportCreator = GetReportCreator();
var lType = Utils.EnumParse<ReportTypes>(Request.Params["type"]);
XtraReport report;
switch (lType)
{
case ReportTypes.ServiceInvoice:
report = CreateServiceInvoiceReport();
break;
case ReportTypes.Settlement:
report = CreateSettlementReport();
break;
case ReportTypes.ServiceOverviewSingleCustomer:
report = CreateServiceOverviewSingleCustomerReport();
break;
case ReportTypes.Stundenzettel:
report = CreateServiceOverviewSingleCustomerReport();
break;
case ReportTypes.ServiceOverviewAllCustomers:
return CreateServiceOverviewAllCustomersReport();
case ReportTypes.ServicesOverviewNew:
report = CreateServiceOverviewNew();
break;
case ReportTypes.CustomerData:
report = CreateCustomerDataReport();
break;
case ReportTypes.ServiceRecordList:
report = CreateServiceRecordListReport();
break;
case ReportTypes.SupportConceptReport:
report = CreateSupportConceptReport();
break;
case ReportTypes.BewertungsstatistikReport:
report = CreateBewertungsstatistikReport();
break;
case ReportTypes.FLSReport:
report = CreateFlsReport();
break;
case ReportTypes.CustomerInvoice:
report = CreateCustomerInvoiceReport();
break;
case ReportTypes.AssessmentSheetReport:
report = CreateAssessmentSheetReport();
break;
case ReportTypes.AdditionalServiceBookingReport:
report = CreateAdditionalServiceBookingReport();
break;
case ReportTypes.EmployeeHourReport:
report = CreateEmployeeHourReport();
break;
case ReportTypes.AuslastungReport:
report = CreateAuslastungReport();
break;
case ReportTypes.Medikamentenverordnungsliste:
report = CreateMediVerordnungslistenReport();
break;
case ReportTypes.MedikamentenverordnungslisteMitZusatzfeldern:
report = CreateMediVerordnungslistenMZusatzfeldernReport();
break;
case ReportTypes.HistorischeMedikamentenverordnungsliste:
report = CreateHistorischeMediVerordnungslistenReport();
break;
case ReportTypes.Kalender: // Wird nicht mehr benötigt
report = CreateTestReportKalender();
break;
case ReportTypes.FinanceReport:
report = CreateFinanceReport();
break;
case ReportTypes.Jahresbericht:
report = CreateJahresbericht();
break;
case ReportTypes.Employee:
report = CreateEmployeeDataReport();
break;
case ReportTypes.Contract:
report = new XtraReport();
break;
case ReportTypes.NotizenKategorie:
report = CreateNotizenReport();
break;
case ReportTypes.SBDCharacteristics:
report = CreateSBDCharacteristicsReport();
break;
case ReportTypes.SBDEmployeeReport:
report = CreateSBDEmployeeReport();
break;
case ReportTypes.AbsenceReport:
report = CreateAbsenceReport();
break;
case ReportTypes.RosterReport:
report = CreateRosterReport();
break;
case ReportTypes.RosterReportIst:
report = CreateRosterReportIst();
break;
case ReportTypes.VorlagenReport:
report = CreateVorlagenReport();
break;
case ReportTypes.AbwesenheitsPrintReport:
report = CreateAbwesenheitsPrintReport();
break;
case ReportTypes.MitarbeiterKlientenReport:
report = CreateEmployeeCustomerListReport();
break;
case ReportTypes.HilfeplanStatistik:
report = new XtraReport();
break;
case ReportTypes.RatingReport:
report = CreateRatingReport();
break;
case ReportTypes.KilometerAuswertung:
report = CreateKilometerAuswertung();
break;
case ReportTypes.VertretungsPlanung:
report = CreateVertretungsPlanungReport();
break;
case ReportTypes.ValidationMessageReport:
report = CreateValidationMessageListReport();
break;
case ReportTypes.GkvAbrechnung:
report = CreateGkvAbrechnungReport();
break;
default:
report = CreateQueryReport();
break;
}
if (report != null && lType != ReportTypes.ServiceOverviewAllCustomers &&
lType != ReportTypes.ServiceInvoice)
{
if (report.Pages.Count == 0)
{
report.CreateDocument();
}
}
return report;
}
Response.Write("Session ist abgelaufen! Bitte erstellen Sie den Bericht erneut. Nach Erstellen des Berichts haben Sie 10 Min. Zeit diesen auszudrucken.");
return new XtraReport();
}
private XtraReport CreateTestReportKalender()
{
var abc = Request.Params["r"].Split('-');
var rightsList = abc.Select(r => (UserRightType)Int32.Parse(r)).ToList();
//employeeOid, viewType
var datesList = new List<DateTime>();
string datesString = Request.Params["d"];
for (var i = 0; i < datesString.Length; i += 8)
{
var x = datesString.Substring(i, 8);
datesList.Add(new DateTime(Convert.ToInt32(x.Substring(4, 4)), Convert.ToInt32(x.Substring(2, 2)), Convert.ToInt32(x.Substring(0, 2))));
}
var vt = (AppointmentViewType) int.Parse(Request.Params["vt"]);
var s = DateTime.Parse(Request.Params["s"]);
var e = DateTime.Parse(Request.Params["e"]);
var employeeOid = long.Parse(Request.Params["eOid"]);
return reportCreator.CreateKalenderReport(employeeOid, vt, s, e, datesList, rightsList);
}
private XtraReport CreateCustomerDataReport()
{
long customerOid = long.Parse(Request.Params["cOid"]);
return reportCreator.CreateCustomerDataReport(customerOid);
}
private XtraReport CreateCustomerInvoiceReport()
{
long invoiceOid = long.Parse(Request.Params["ioid"]);
return reportCreator.CreateCustomerInvoiceReport(invoiceOid);
}
private XtraReport CreateAssessmentSheetReport()
{
var customerOid = long.Parse(Request.Params["coid"]);
var month = Int32.Parse(Request.Params["m"]);
var year = Int32.Parse(Request.Params["y"]);
return reportCreator.CreateAssessmentSheetReport(customerOid, month, year);
}
private XtraReport CreateAdditionalServiceBookingReport()
{
var addservregionOid = long.Parse(Request.Params["asroid"]);
Monat month;
Enum.TryParse(Request.Params["m"], out month);
var year = Int32.Parse(Request.Params["y"]);
return reportCreator.CreateAdditionalServiceBookingReport(addservregionOid, month, year);
}
private XtraReport CreateEmployeeHourReport()
{
long? employeeOid = null;
if (Request.Params["eoid"] != null)
employeeOid = long.Parse(Request.Params["eoid"]);
IList<long> teamOids = null;
if (Request.Params["toid"] != null)
{
String teamOidStr = Request.Params["toid"];
var oids = teamOidStr.Split(',');
teamOids = new List<long>();
foreach (var oidStr in oids)
{
long oid = 0;
if (Int64.TryParse(oidStr, out oid))
{
teamOids.Add(oid);
}
}
}
int ansicht = 0;
if (Request.Params["ansicht"] != null)
{
ansicht = Int32.Parse(Request.Params["ansicht"]);
}
int month = Int32.Parse(Request.Params["m"]);
var year = Int32.Parse(Request.Params["y"]);
var start = new DateTime(year, month, 1);
var end = start.AddMonths(1);
return reportCreator.CreateEmployeeHourReport(employeeOid, teamOids, start, end, ansicht);
}
private XtraReport CreateAuslastungReport()
{
long? employeeOid = null;
if (Request.Params["eoid"] != null)
employeeOid = long.Parse(Request.Params["eoid"]);
IList<long> teamOids = null;
if (Request.Params["toid"] != null)
{
String teamOidStr = Request.Params["toid"];
var oids = teamOidStr.Split(',');
teamOids = new List<long>();
foreach (var oidStr in oids)
{
long oid = 0;
if (Int64.TryParse(oidStr, out oid))
{
teamOids.Add(oid);
}
}
}
int month = Int32.Parse(Request.Params["m"]);
var year = Int32.Parse(Request.Params["y"]);
var start = new DateTime(year, month, 1);
var end = start.AddMonths(1);
return reportCreator.CreateAuslastungReport(employeeOid, teamOids, start, end);
}
private XtraReport CreateFlsReport()
{
String flsReportId = Request.Params["dcid"];
String subType = Request.Params["subType"];
return reportCreator.CreateFlsReport(flsReportId, subType);
}
private XtraReport CreateQueryReport()
{
var queryOid = long.Parse(Request.Params["qoid"]);
var queryReportId = Request.Params["dcid"];
return reportCreator.CreateQueryReport(queryOid, queryReportId);
}
private XtraReport CreateServiceInvoiceReport()
{
String dcIds = Request.Params["dcids"];
long? invoiceBaseOid = null;
if (Request.Params["ibid"] != null)
invoiceBaseOid = long.Parse(Request.Params["ibid"]);
return reportCreator.CreateServiceInvoiceReport(dcIds, invoiceBaseOid);
}
private XtraReport CreateServiceOverviewAllCustomersReport()
{
int month = int.Parse(this.Request.Params["month"]);
int year = int.Parse(this.Request.Params["year"]);
long orgaOid = long.Parse(this.Request.Params["orgaOid"]);
long empOid = long.Parse(this.Request.Params["empOid"]);
int startDay = 1;
if (Request.Params["start"] != null)
{
startDay = int.Parse(Request.Params["start"]);
}
int endDay = DateTime.DaysInMonth(year, month);
if (Request.Params["end"] != null)
{
endDay = int.Parse(Request.Params["end"]);
}
long? scOid = null;
if (Request.Params["scOid"] != null)
scOid = long.Parse(Request.Params["scOid"]);
return reportCreator.CreateServiceOverviewAllCustomersReport(month, year, orgaOid, empOid, scOid, startDay, endDay, false);
}
private XtraReport CreateServiceOverviewSingleCustomerReport()
{
long customerOid = long.Parse(Request.Params["cOid"]);
int month = int.Parse(Request.Params["month"]);
int year = int.Parse(Request.Params["year"]);
long orgaOid = long.Parse(Request.Params["orgaOid"]);
long empOid = long.Parse(Request.Params["empOid"]);
int startDay = 1;
if (Request.Params["start"] != null)
{
startDay = int.Parse(Request.Params["start"]);
}
int endDay = DateTime.DaysInMonth(year, month);
if (Request.Params["end"] != null)
{
endDay = int.Parse(Request.Params["end"]);
}
long? scOid;
if (Request.Params["scOid"] != null)
scOid = long.Parse(Request.Params["scOid"]);
else
scOid = null;
return reportCreator.CreateServiceOverviewSingleCustomerReport(customerOid, month, year, orgaOid, empOid, scOid, startDay, endDay);
}
private XtraReport CreateServiceOverviewNew()
{
int month = int.Parse(Request.Params["month"]);
int year = int.Parse(Request.Params["year"]);
int filterType = int.Parse(Request.Params["ft"]);
long? customerOid = null;
if (Request.Params["cOid"] != null)
{
customerOid = long.Parse(Request.Params["cOid"]);
}
long? teamOid = null;
if (Request.Params["tOid"] != null)
{
teamOid =long.Parse(Request.Params["tOid"]);
}
long? orgaOid = null;
if (Request.Params["orgaOid"] != null)
{
orgaOid = long.Parse(Request.Params["orgaOid"]);
}
long? empOid = null;
if (Request.Params["empOid"] != null)
{
empOid = long.Parse(Request.Params["empOid"]);
}
int startDay = 1;
if (Request.Params["start"] != null)
{
startDay = int.Parse(Request.Params["start"]);
}
int endDay = DateTime.DaysInMonth(year, month);
if (Request.Params["end"] != null)
{
endDay = int.Parse(Request.Params["end"]);
}
long? scOid;
if (Request.Params["scOid"] != null)
scOid = long.Parse(Request.Params["scOid"]);
else
scOid = null;
//nf = nur fehlende:-)
bool nf = false;
if (Request.Params["nf"] != null && Request.Params["nf"] == "1")
{
nf = true;
}
return reportCreator.CreateServiceOverviewReportNew(month, year, (QBFilterEnum)filterType, customerOid, teamOid, empOid, orgaOid, scOid, startDay, endDay, nf);
}
private XtraReport CreateServiceRecordListReport()
{
long eOid = long.Parse(Request.Params["eOid"]);
long cOid = long.Parse(Request.Params["cOid"]);
long scOid = long.Parse(Request.Params["scOid"]);
long cb2scOid = long.Parse(Request.Params["cb2scOid"]);
string isLimitedParam = Request.Params["l"];
bool isLimited = isLimitedParam != null;
return reportCreator.CreateServiceRecordListReport(eOid, cOid, scOid, cb2scOid, isLimited, null);
}
private XtraReport CreateSettlementReport()
{
String dcId = Request.Params["dcid"];
long? invoiceBaseOid = null;
if (Request.Params["ibid"] != null)
invoiceBaseOid = long.Parse(Request.Params["ibid"]);
return reportCreator.CreateSettlementReport(dcId, invoiceBaseOid);
}
private XtraReport CreateSupportConceptReport()
{
IList<long> c2sOids = null;
long? eOid = null;
long? tOid = null;
long? catOid = null;
int? exp = 0;
int arc = 0;
if (Request.Params["c2slist"] != null)
{
String oidStr = Request.Params["c2slist"];
var oidArray = oidStr.Split(',');
c2sOids = new List<long>();
foreach (var os in oidArray)
{
long oid = 0;
if (Int64.TryParse(os, out oid))
{
c2sOids.Add(oid);
}
}
}
else
{
eOid = long.Parse(Request.Params["eOid"]);
tOid = long.Parse(Request.Params["tOid"]);
if (Request.Params["catOid"] != null)
{
catOid = long.Parse(Request.Params["catOid"]);
}
exp = int.Parse(Request.Params["exp"]);
arc = int.Parse(Request.Params["arc"]);
if (eOid == 0)
{
eOid = null;
}
if (tOid == 0)
{
tOid = null;
}
if (catOid == 0)
{
catOid = null;
}
if (exp == 0)
{
exp = null;
}
}
DateTime? endDate = null;
Object obj = Request.Params["date"];
if (obj != null)
{
DateTime dt = DateTime.MaxValue;
DateTime.TryParse(obj.ToString(), out dt);
endDate = dt;
}
DateTime? startDate = null;
if (Request.Params["start"] != null)
{
DateTime dt = DateTime.MinValue;
if (DateTime.TryParse(Request.Params["start"].ToString(), out dt))
{
startDate = dt;
}
}
return reportCreator.CreateSupportConceptReport(c2sOids, eOid, tOid, catOid, exp, arc == 1, startDate, endDate);
}
private XtraReport CreateBewertungsstatistikReport()
{
DateTime? start = null;
DateTime? end = null;
SupportConceptDC supportConcept = null;
bool inclZeiterfassung = false;
List<ValueListEntryDC> ziele = new List<ValueListEntryDC>();
List<RatingDC> scZiele = new List<RatingDC>();
if (Request.Params["scOid"] != null)
supportConcept = MapperFactory.SupportConceptDC_SupportConcept.MapToNewDC(DAOFactory.GenericDAO.GetByID<SupportConcept>(long.Parse(Request.Params["scOid"])));
if (Request.Params["start"] != null)
start = DateTime.Parse(Request.Params["start"]);
else if (supportConcept != null)
start = supportConcept.Ratings[0].StartDate;
else
start = null;
if (Request.Params["end"] != null)
end = DateTime.Parse(Request.Params["end"]);
else if (supportConcept != null)
end = supportConcept.Ratings[supportConcept.Ratings.Count - 1].StartDate;
else
end = null;
if (Request.Params["ze"] != null)
inclZeiterfassung = (Request.Params["ze"] == "1") ? true : false;
if (Request.Params["goals"] != null)
{
string goalOids = Request.Params["goals"].ToString();
var oids = goalOids.Split(',');
var alleValueListEntries = DAOFactory.GenericDAO.GetAllActive<ValueListEntry>();
if (goalOids != null && goalOids != "")
{
foreach (var oid in oids)
{
foreach (var item in alleValueListEntries)
{
if (long.Parse(oid) == item.Oid)
ziele.Add(MapperFactory.ValueListEntryDC_ValueListEntry.MapToNewDC(item));
}
}
}
}
if (Request.Params["scgoals"] != null)
{
string scGoalOids = Request.Params["scgoals"].ToString();
if (!string.IsNullOrWhiteSpace(scGoalOids))
{
var oids = scGoalOids.Split(',');
var alleRatingDCs =
MapperFactory.RatingDC_Rating.MapToNewDCs(DAOFactory.GenericDAO.GetAllActive<Rating>());
foreach (var oid in oids)
{
long loid = 0;
if (Int64.TryParse(oid, out loid))
{
foreach (var dc in alleRatingDCs)
{
if (loid == dc.RatingOid)
scZiele.Add(dc);
}
}
}
}
}
return reportCreator.CreateBewertungsstatistikReport(start, end, supportConcept, inclZeiterfassung, ziele, scZiele);
}
private XtraReport CreateMediVerordnungslistenReport()
{
var mvlOid = long.Parse(Request.Params["mvlOid"]);
return reportCreator.CreateMediVerordListenReport(mvlOid);
}
private XtraReport CreateMediVerordnungslistenMZusatzfeldernReport()
{
var mvlOid = long.Parse(Request.Params["mvlOid"]);
return reportCreator.CreateMediVerordListenMZfReport(mvlOid, true);
}
private XtraReport CreateHistorischeMediVerordnungslistenReport()
{
var mvlOid = long.Parse(Request.Params["mvlOid"]);
return reportCreator.CreateMediVerordListenReport(mvlOid);
}
private XtraReport CreateFinanceReport()
{
DateTime? start = null;
DateTime? end = null;
String date = Request.Params["start"];
if (!String.IsNullOrEmpty(date) && date.Length == 8)
{
DateTime dt;
if (DateTime.TryParse(
String.Format("{0}.{1}.{2}", date.Substring(0, 2), date.Substring(2, 2), date.Substring(4, 4)), out dt))
{
start = dt;
}
}
date = Request.Params["end"];
if (!String.IsNullOrEmpty(date) && date.Length == 8)
{
DateTime dt;
if (DateTime.TryParse(
String.Format("{0}.{1}.{2}", date.Substring(0, 2), date.Substring(2, 2), date.Substring(4, 4)), out dt))
{
end = dt;
}
}
bool onlyNotApproved = false;
if (Request.Params["onlyNotApproved"] != null)
{
if (Request.Params["onlyNotApproved"] == "1")
{
onlyNotApproved = true;
}
}
bool splitByServiceCategory = false;
if (Request.Params["splitByServiceCategory"] != null)
{
if (Request.Params["splitByServiceCategory"] == "1")
{
splitByServiceCategory = true;
}
}
return reportCreator.CreateFinanceReport(start, end, splitByServiceCategory, onlyNotApproved);
}
private XtraReport CreateJahresbericht()
{
int year = int.Parse(Request.Params["y"]);
long? cbOid = null;
if (Request.Params["cb"] != null)
cbOid = long.Parse(Request.Params["cb"]);
long? teamOid = null;
if (Request.Params["t"] != null)
teamOid = long.Parse(Request.Params["t"]);
long? artOid = null;
if (Request.Params["art"] != null)
artOid = long.Parse(Request.Params["art"]);
return reportCreator.CreateJahresberichtReport(year, cbOid, teamOid, artOid);
}
private XtraReport CreateEmployeeDataReport()
{
long oid = long.Parse(Request.Params["eOid"]);
return reportCreator.CreateEmployeeDataReport(oid);
}
private XtraReport CreateNotizenReport()
{
long kategorieOid = long.Parse(Request.Params["katOid"]);
DateTime start = DateTime.Parse(Request.Params["start"]);
DateTime end = DateTime.Parse(Request.Params["end"]);
return reportCreator.CreateNotizenReport(kategorieOid, start, end);
}
private XtraReport CreateSBDCharacteristicsReport()
{
var customerOid = long.Parse(Request.Params["customerOid"]);
return reportCreator.CreateSBDCharacteristicsReport(customerOid);
}
private XtraReport CreateSBDEmployeeReport()
{
var oid = long.Parse(Request.Params["employeeOid"]);
return reportCreator.CreateSBDEmployeeReport(oid);
}
private XtraReport CreateAbsenceReport()
{
DateTime dt = DateTime.ParseExact(Request.Params["dt"], "MM.yyyy", CultureInfo.InvariantCulture);
List<long> absenceIDs = null;
List<long> empIDs = null;
List<long> teams = null;
List<int> feiertage = null;
if (Request.Params["ar"] != null)
absenceIDs = Request.Params["ar"].Split(';').Select(long.Parse).ToList();
if (Request.Params["et"] != null)
absenceIDs = Request.Params["et"].Split(';').Select(long.Parse).ToList();
if (Request.Params["t"] != null)
teams = Request.Params["t"].Split(';').Select(long.Parse).ToList();
if (Request.Params["f"] != null)
feiertage = Request.Params["f"].Split(';').Select(int.Parse).ToList();
return reportCreator.CreateAbsenceReport(dt, absenceIDs, empIDs, teams, feiertage);
}
private XtraReport CreateRosterReport()
{
DateTime dt = DateTime.ParseExact(Request.Params["dt"], "dd.MM.yyyy", CultureInfo.InvariantCulture);
long wOid = int.Parse(Request.Params["wid"]);
int sortIndex = int.Parse(Request.Params["si"]);
bool aufsteigend = int.Parse(Request.Params["order"]) == 0 ? false : true;
long creator = 1;
string creatorParam = Request.Params["creator"];
if (creatorParam != null)
creator = int.Parse(Request.Params["creator"]);
List<int> feiertage = new List<int>();
if (Request.Params["ft"] != null)
feiertage = Request.Params["ft"].Split(';').Select(int.Parse).ToList();
return reportCreator.CreateRosterReport(wOid, dt, feiertage, sortIndex, aufsteigend, creator);
}
private XtraReport CreateRosterReportIst()
{
DateTime dt = DateTime.ParseExact(Request.Params["dt"], "dd.MM.yyyy", CultureInfo.InvariantCulture);
long wOid = int.Parse(Request.Params["wid"]);
List<int> feiertage = new List<int>();
return reportCreator.CreateRosterReportIst(wOid, dt);
}
private XtraReport CreateVorlagenReport()
{
long template = long.Parse(Request.Params["vorlage"]);
string objectOidString = Request.Params["obj"];
string[] oidArray = objectOidString.Split(',');
List<long> objectOids = new List<long>();
foreach (string s in oidArray)
objectOids.Add(long.Parse(s));
long table = long.Parse(Request.Params["table"]);
return reportCreator.CreateVorlagenReport(template, objectOids, table);
}
private XtraReport CreateAbwesenheitsPrintReport()
{
string printOids = Request.Params["oids"];
string titel = Request.Params["titel"];
string[] oidArray = printOids.Split(',');
List<long> oidList = new List<long>();
foreach (var item in oidArray)
{
oidList.Add(Convert.ToInt64(item));
}
return reportCreator.CreateAbwesenheitsPrintReport(oidList, titel);
}
private XtraReport CreateEmployeeCustomerListReport()
{
long? oid = null;
if (Request.Params["eOid"] != null)
{
oid = long.Parse(Request.Params["eOid"]);
}
return reportCreator.CreateEmployeeCustomerListReport(oid);
}
private XtraReport CreateRatingReport()
{
long roid = 0;
long scoid = 0;
if (Request.Params["rOid"] != null)
{
roid = long.Parse(Request.Params["rOid"]);
}
if (Request.Params["scOid"] != null)
{
scoid = long.Parse(Request.Params["scOid"]);
}
return reportCreator.CreateRatingReport(roid, scoid);
}
private XtraReport CreateKilometerAuswertung()
{
DateTime start = DateTime.Now.Date;
DateTime end = DateTime.Now.Date;
String cOids = Request.Params["cOids"];
String eOids = Request.Params["eOids"];
String sdOids = Request.Params["sdOids"];
String date = Request.Params["start"];
if (!String.IsNullOrEmpty(date) && date.Length == 8)
{
DateTime dt;
if (DateTime.TryParse(
String.Format("{0}.{1}.{2}", date.Substring(0, 2), date.Substring(2, 2), date.Substring(4, 4)), out dt))
{
start = dt;
}
}
date = Request.Params["end"];
if (!String.IsNullOrEmpty(date) && date.Length == 8)
{
DateTime dt;
if (DateTime.TryParse(
String.Format("{0}.{1}.{2}", date.Substring(0, 2), date.Substring(2, 2), date.Substring(4, 4)), out dt))
{
end = dt;
}
}
var serviceDescriptionOids = new List<long>();
if (!String.IsNullOrEmpty(sdOids))
{
serviceDescriptionOids = sdOids.Split(',').Select(o => Int64.Parse(o)).ToList();
}
if (!String.IsNullOrEmpty(cOids))
{
var list = cOids.Split(',').Select(o => Int64.Parse(o)).ToList();
if (list.Count == 1)
{
return reportCreator.CreateKilometerauswertung(list[0], serviceDescriptionOids, start, end);
}
else
{
return reportCreator.CreateKilometerauswertungForAllCustomers(list, serviceDescriptionOids, start, end);
}
}
else if (!String.IsNullOrEmpty(eOids))
{
var list = eOids.Split(',').Select(o => Int64.Parse(o)).ToList();
if (list.Count == 1)
{
return reportCreator.CreateEmployeeKilometerauswertung(list[0], serviceDescriptionOids, start, end);
}
else
{
return reportCreator.CreateKilometerauswertungForAllEmployees(list, serviceDescriptionOids, start, end);
}
}
return new XtraReport();
}
private XtraReport CreateVertretungsPlanungReport()
{
DateTime start = DateTime.Now.Date;
int ansicht = 1;
return reportCreator.CreateVertretungsPlanungReport(start, ansicht);
}
private XtraReport CreateValidationMessageListReport()
{
DateTime start = DateTime.Now.Date;
DateTime end = start.AddMonths(1).AddTicks(-1);
return reportCreator.CreateValidationMessageListReport(start, end);
}
private XtraReport CreateGkvAbrechnungReport()
{
var request = GkvAbrechnungReportRequest.Parse(Request.Params);
return reportCreator.CreateGkvAbrechnungReport(request);
}
private AbstractReportCreator GetReportCreator()
{
long? templateOid = null;
if (Request.Params["template"] != null)
{
templateOid = long.Parse(Request.Params["template"]);
}
String t = slicedToken["tenant"].ToString();
SessionFacade.Tenant = t;
AbstractReportCreator creator = PluginLoader.FindClass<DefaultReportCreator>();
if (creator == null)
creator = new DefaultReportCreator();
creator.TemplateOid = templateOid;
#if DEBUG
creator.TempPath = BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, @"demo\temp");
#else
creator.TempPath = BS.Shared.Core.Utils.CreateSavePath(AppDomain.CurrentDomain.BaseDirectory, t + @"\temp");
#endif
return creator;
}
}
}