using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Report; using BeWo.Report.ReportObjects; using BeWo.Service.ServiceImplementations; using DevExpress.XtraReports.UI; using System; using System.Collections.Generic; namespace LebensWert { class CustomReportCreator : DefaultReportCreator { public override XtraReport CreateServiceOverviewAllCustomersReport(int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay, bool nurFehlende) { //var os = new OperationsServiceImp(); //var m = os.GetMandator2(false); //if (m.AllowSbd) //{ // return CreateSbdLeistungsnachweisForAllCustomers(month, year, orgaOid, empOid, serviceCategoryOid ?? 0, startDay, endDay, false, "nrw"); //} List lROs = ServicesOverviewRO.Create(month, year, orgaOid, empOid, startDay, endDay, serviceCategoryOid, true, nurFehlende); if (lROs.Count > 0) { String reportId = null; if (orgaOid > 0) { var organisation = DAOFactory.GenericDAO.LoadByID(orgaOid); if (organisation != null) reportId = organisation.Name; } IBeWoReport lServiceOverviewAllCustomersReport = new Quittierungsbeleg(); if (reportId != null) { if (AllowNeuerQB(reportId)) lServiceOverviewAllCustomersReport = new QuittierungsbelegHannover(); } lServiceOverviewAllCustomersReport.SetReportDataSource(lROs[0]); (lServiceOverviewAllCustomersReport as XtraReport).CreateDocument(); var Report = lServiceOverviewAllCustomersReport as XtraReport; for (int i = 1; i < lROs.Count; i++) { IBeWoReport lNext = new Quittierungsbeleg(); if (reportId != null) { if (AllowNeuerQB(reportId)) lNext = new QuittierungsbelegHannover(); } lNext.SetReportDataSource(lROs[i]); (lNext as XtraReport).CreateDocument(); Report.Pages.AddRange((lNext as XtraReport).Pages); } return lServiceOverviewAllCustomersReport as XtraReport; } return new XtraReport(); } public override XtraReport CreateServiceOverviewSingleCustomerReport(long customerOid, int month, int year, long orgaOid, long empOid, long? serviceCategoryOid, int startDay, int endDay) { //var os = new OperationsServiceImp(); //var m = os.GetMandator2(false); //if (m.AllowSbd) //{ // return CreateSbdLeistungsnachweisForSingleCustomerReport(customerOid, month, year, orgaOid, empOid, serviceCategoryOid ?? 0, startDay, endDay, false, "nrw"); //} var ro = ServicesOverviewRO.Create(customerOid, month, year, false, orgaOid, empOid, startDay, endDay, serviceCategoryOid); String reportId = null; if (orgaOid > 0) { var organisation = DAOFactory.GenericDAO.LoadByID(orgaOid); if (organisation != null) reportId = organisation.Name; } else { var organisation = DAOFactory.GenericDAO.LoadByID(ro.SupportConceptCostBearer.CostBearer.OrganisationOid); if (organisation != null) reportId = organisation.Name; } IBeWoReport lServiceOverviewSingleCustomerReport = new Quittierungsbeleg(); if (reportId != null) { if (AllowNeuerQB(reportId)) lServiceOverviewSingleCustomerReport = new QuittierungsbelegHannover(); } if (ro != null) { lServiceOverviewSingleCustomerReport.SetReportDataSource(ro); } return lServiceOverviewSingleCustomerReport as XtraReport; } private bool AllowNeuerQB(string reportId) { if (reportId.ToLower() == "landeshauptstadt hannover" || reportId.ToLower().Contains("stadt hannover")|| reportId.ToLower().Contains("landkreis hildesheim neu") || reportId.ToLower().Contains("region hannover neu") || reportId.ToLower().Contains("landkreis hildesheim alfeld") || reportId.ToLower().Contains("landkreis nienburg neu")) return true; else return false; } } }