MH: Kontakt und Krisenhilfe Monatsreport

This commit is contained in:
2023-08-03 09:23:19 +02:00
parent bafaeeb24f
commit 33f291b789
3 changed files with 381 additions and 129 deletions

View File

@@ -24,8 +24,19 @@ namespace KontaktUndKrisenhilfeReports
JahresReportRO b = new JahresReportRO();
//b.CreateReport(pRO);
if (pRO.JahresReportTabelleList != null)
{
for (int i = pRO.JahresReportTabelleList.Count - 1; i >= 0; i--)
{
var o = pRO.JahresReportTabelleList[i];
if (o.Name == "Anzahl der betreuten Personen nach Ort" || o.Name == "Betreuungsumfang der betreuten Personen in FLS pro Woche" || o.Name == "Aktuelle Betreuungsdauer der betreuten Personen")
{
pRO.JahresReportTabelleList.Remove(o);
}
}
foreach (var tab in pRO.JahresReportTabelleList)
{
if (tab.JahresReportDetailList != null)

View File

@@ -47,29 +47,31 @@ namespace KontaktUndKrisenhilfeReports
this.xrTableCell12 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell16 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell17 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.DetailReport2 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail3 = new DevExpress.XtraReports.UI.DetailBand();
this.DetailReport3 = new DevExpress.XtraReports.UI.DetailReportBand();
this.Detail4 = new DevExpress.XtraReports.UI.DetailBand();
this.GroupHeader1 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrTable9 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow2 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell5 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell6 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell7 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell8 = new DevExpress.XtraReports.UI.XRTableCell();
this.GroupHeader2 = new DevExpress.XtraReports.UI.GroupHeaderBand();
this.xrLabel8 = new DevExpress.XtraReports.UI.XRLabel();
this.GroupFooter1 = new DevExpress.XtraReports.UI.GroupFooterBand();
this.xrLabel1 = new DevExpress.XtraReports.UI.XRLabel();
this.xrTableRow1 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell1 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell13 = new DevExpress.XtraReports.UI.XRTableCell();
this.bindingSource1 = new System.Windows.Forms.BindingSource(this.components);
this.xrTable1 = new DevExpress.XtraReports.UI.XRTable();
this.xrTableRow3 = new DevExpress.XtraReports.UI.XRTableRow();
this.xrTableCell2 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell3 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell10 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell14 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell15 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell18 = new DevExpress.XtraReports.UI.XRTableCell();
this.xrTableCell4 = new DevExpress.XtraReports.UI.XRTableCell();
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
//
// Detail
@@ -172,6 +174,7 @@ namespace KontaktUndKrisenhilfeReports
this.xrTableCell11,
this.xrTableCell12,
this.xrTableCell16,
this.xrTableCell4,
this.xrTableCell17});
this.xrTableRow9.Name = "xrTableRow9";
this.xrTableRow9.Weight = 0.5D;
@@ -197,7 +200,7 @@ namespace KontaktUndKrisenhilfeReports
this.xrTableCell11.Name = "xrTableCell11";
this.xrTableCell11.StylePriority.UseTextAlignment = false;
this.xrTableCell11.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell11.Weight = 0.7230987127281342D;
this.xrTableCell11.Weight = 0.54232390582059531D;
//
// xrTableCell12
//
@@ -206,7 +209,7 @@ namespace KontaktUndKrisenhilfeReports
this.xrTableCell12.Name = "xrTableCell12";
this.xrTableCell12.StylePriority.UseTextAlignment = false;
this.xrTableCell12.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell12.Weight = 0.723099080515292D;
this.xrTableCell12.Weight = 0.54232421055852631D;
//
// xrTableCell16
//
@@ -215,12 +218,42 @@ namespace KontaktUndKrisenhilfeReports
this.xrTableCell16.Name = "xrTableCell16";
this.xrTableCell16.StylePriority.UseTextAlignment = false;
this.xrTableCell16.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell16.Weight = 0.72309924864656439D;
this.xrTableCell16.Weight = 0.542324189542117D;
//
// xrTableCell17
//
this.xrTableCell17.Name = "xrTableCell17";
this.xrTableCell17.Weight = 0.21090378376906091D;
this.xrTableCell17.Weight = 0.21090454679494081D;
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell13});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.5D;
//
// xrTableCell1
//
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Namen der KlientInnen:";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.52490869872986667D;
//
// xrTableCell13
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.AllCustomerString")});
this.xrTableCell13.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 2.015796264516617D;
//
// DetailReport2
//
@@ -260,85 +293,12 @@ namespace KontaktUndKrisenhilfeReports
// GroupHeader1
//
this.GroupHeader1.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
this.xrTable9});
this.xrTable1});
this.GroupHeader1.HeightF = 25F;
this.GroupHeader1.KeepTogether = true;
this.GroupHeader1.Name = "GroupHeader1";
this.GroupHeader1.RepeatEveryPage = true;
//
// xrTable9
//
this.xrTable9.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable9.BorderWidth = 1F;
this.xrTable9.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable9.Name = "xrTable9";
this.xrTable9.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow2});
this.xrTable9.SizeF = new System.Drawing.SizeF(726.0417F, 25F);
this.xrTable9.StylePriority.UseBorders = false;
this.xrTable9.StylePriority.UseBorderWidth = false;
//
// xrTableRow2
//
this.xrTableRow2.BackColor = System.Drawing.Color.SlateGray;
this.xrTableRow2.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell4,
this.xrTableCell5,
this.xrTableCell6,
this.xrTableCell7,
this.xrTableCell8});
this.xrTableRow2.Name = "xrTableRow2";
this.xrTableRow2.StylePriority.UseBackColor = false;
this.xrTableRow2.Weight = 0.49999999999999994D;
//
// xrTableCell4
//
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.Weight = 0.61979904824249443D;
//
// xrTableCell5
//
this.xrTableCell5.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell5.ForeColor = System.Drawing.Color.White;
this.xrTableCell5.Name = "xrTableCell5";
this.xrTableCell5.StylePriority.UseFont = false;
this.xrTableCell5.StylePriority.UseForeColor = false;
this.xrTableCell5.StylePriority.UseTextAlignment = false;
this.xrTableCell5.Text = "Anzahl";
this.xrTableCell5.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell5.Weight = 0.72309896492504233D;
//
// xrTableCell6
//
this.xrTableCell6.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell6.ForeColor = System.Drawing.Color.White;
this.xrTableCell6.Name = "xrTableCell6";
this.xrTableCell6.StylePriority.UseFont = false;
this.xrTableCell6.StylePriority.UseForeColor = false;
this.xrTableCell6.StylePriority.UseTextAlignment = false;
this.xrTableCell6.Text = "Weiblich";
this.xrTableCell6.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell6.Weight = 0.72309895441683791D;
//
// xrTableCell7
//
this.xrTableCell7.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell7.ForeColor = System.Drawing.Color.White;
this.xrTableCell7.Name = "xrTableCell7";
this.xrTableCell7.StylePriority.UseFont = false;
this.xrTableCell7.StylePriority.UseForeColor = false;
this.xrTableCell7.StylePriority.UseTextAlignment = false;
this.xrTableCell7.Text = "Männlich";
this.xrTableCell7.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell7.Weight = 0.72309896492504233D;
//
// xrTableCell8
//
this.xrTableCell8.Name = "xrTableCell8";
this.xrTableCell8.Weight = 0.21090406749058277D;
//
// GroupHeader2
//
this.GroupHeader2.Controls.AddRange(new DevExpress.XtraReports.UI.XRControl[] {
@@ -377,40 +337,106 @@ namespace KontaktUndKrisenhilfeReports
this.xrLabel1.Padding = new DevExpress.XtraPrinting.PaddingInfo(2, 2, 0, 0, 100F);
this.xrLabel1.SizeF = new System.Drawing.SizeF(92.70833F, 45.83333F);
//
// xrTableRow1
//
this.xrTableRow1.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell1,
this.xrTableCell13});
this.xrTableRow1.Name = "xrTableRow1";
this.xrTableRow1.Weight = 0.5D;
//
// xrTableCell1
//
this.xrTableCell1.Name = "xrTableCell1";
this.xrTableCell1.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell1.StylePriority.UsePadding = false;
this.xrTableCell1.StylePriority.UseTextAlignment = false;
this.xrTableCell1.Text = "Namen der KlientInnen:";
this.xrTableCell1.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell1.Weight = 0.61979917434094856D;
//
// xrTableCell13
//
this.xrTableCell13.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.AllCustomerString")});
this.xrTableCell13.Multiline = true;
this.xrTableCell13.Name = "xrTableCell13";
this.xrTableCell13.Padding = new DevExpress.XtraPrinting.PaddingInfo(3, 0, 0, 0, 100F);
this.xrTableCell13.StylePriority.UsePadding = false;
this.xrTableCell13.StylePriority.UseTextAlignment = false;
this.xrTableCell13.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
this.xrTableCell13.Weight = 2.3802008256590512D;
//
// bindingSource1
//
this.bindingSource1.DataSource = typeof(BeWo.Report.ReportObjects.JahresReportRO);
//
// xrTable1
//
this.xrTable1.Borders = ((DevExpress.XtraPrinting.BorderSide)((((DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top)
| DevExpress.XtraPrinting.BorderSide.Right)
| DevExpress.XtraPrinting.BorderSide.Bottom)));
this.xrTable1.BorderWidth = 1F;
this.xrTable1.LocationFloat = new DevExpress.Utils.PointFloat(0F, 0F);
this.xrTable1.Name = "xrTable1";
this.xrTable1.Rows.AddRange(new DevExpress.XtraReports.UI.XRTableRow[] {
this.xrTableRow3});
this.xrTable1.SizeF = new System.Drawing.SizeF(726.0417F, 25F);
this.xrTable1.StylePriority.UseBorders = false;
this.xrTable1.StylePriority.UseBorderWidth = false;
//
// xrTableRow3
//
this.xrTableRow3.BackColor = System.Drawing.Color.SlateGray;
this.xrTableRow3.Cells.AddRange(new DevExpress.XtraReports.UI.XRTableCell[] {
this.xrTableCell2,
this.xrTableCell3,
this.xrTableCell10,
this.xrTableCell14,
this.xrTableCell15,
this.xrTableCell18});
this.xrTableRow3.Name = "xrTableRow3";
this.xrTableRow3.StylePriority.UseBackColor = false;
this.xrTableRow3.Weight = 0.49999999999999994D;
//
// xrTableCell2
//
this.xrTableCell2.Name = "xrTableCell2";
this.xrTableCell2.Weight = 0.61979904824249443D;
//
// xrTableCell3
//
this.xrTableCell3.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell3.ForeColor = System.Drawing.Color.White;
this.xrTableCell3.Name = "xrTableCell3";
this.xrTableCell3.StylePriority.UseFont = false;
this.xrTableCell3.StylePriority.UseForeColor = false;
this.xrTableCell3.StylePriority.UseTextAlignment = false;
this.xrTableCell3.Text = "Anzahl";
this.xrTableCell3.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell3.Weight = 0.54232422106673062D;
//
// xrTableCell10
//
this.xrTableCell10.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell10.ForeColor = System.Drawing.Color.White;
this.xrTableCell10.Name = "xrTableCell10";
this.xrTableCell10.StylePriority.UseFont = false;
this.xrTableCell10.StylePriority.UseForeColor = false;
this.xrTableCell10.StylePriority.UseTextAlignment = false;
this.xrTableCell10.Text = "Weiblich";
this.xrTableCell10.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell10.Weight = 0.5423242105585262D;
//
// xrTableCell14
//
this.xrTableCell14.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell14.ForeColor = System.Drawing.Color.White;
this.xrTableCell14.Name = "xrTableCell14";
this.xrTableCell14.StylePriority.UseFont = false;
this.xrTableCell14.StylePriority.UseForeColor = false;
this.xrTableCell14.StylePriority.UseTextAlignment = false;
this.xrTableCell14.Text = "Männlich";
this.xrTableCell14.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell14.Weight = 0.54232422106673062D;
//
// xrTableCell15
//
this.xrTableCell15.Font = new System.Drawing.Font("Times New Roman", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.xrTableCell15.ForeColor = System.Drawing.Color.White;
this.xrTableCell15.Name = "xrTableCell15";
this.xrTableCell15.StylePriority.UseFont = false;
this.xrTableCell15.StylePriority.UseForeColor = false;
this.xrTableCell15.StylePriority.UseTextAlignment = false;
this.xrTableCell15.Text = "Divers";
this.xrTableCell15.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell15.Weight = 0.54232422106673062D;
//
// xrTableCell18
//
this.xrTableCell18.Name = "xrTableCell18";
this.xrTableCell18.Weight = 0.21090432129627981D;
//
// xrTableCell4
//
this.xrTableCell4.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
new DevExpress.XtraReports.UI.XRBinding("Text", null, "JahresReportTabelleList.JahresReportDetailList.DiversAnzahl")});
this.xrTableCell4.Name = "xrTableCell4";
this.xrTableCell4.StylePriority.UseTextAlignment = false;
this.xrTableCell4.Text = "xrTableCell4";
this.xrTableCell4.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
this.xrTableCell4.Weight = 0.542324189542117D;
//
// JahresReport
//
this.Bands.AddRange(new DevExpress.XtraReports.UI.Band[] {
@@ -434,8 +460,8 @@ namespace KontaktUndKrisenhilfeReports
this.DataField});
this.Version = "17.1";
((System.ComponentModel.ISupportInitialize)(this.xrTable8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bindingSource1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.xrTable1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this)).EndInit();
}
@@ -462,13 +488,6 @@ namespace KontaktUndKrisenhilfeReports
private DevExpress.XtraReports.UI.XRTableCell xrTableCell17;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport2;
private DevExpress.XtraReports.UI.DetailBand Detail3;
private DevExpress.XtraReports.UI.XRTable xrTable9;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell5;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell6;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell7;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell8;
private DevExpress.XtraReports.UI.XRLabel xrLabel8;
private DevExpress.XtraReports.UI.DetailReportBand DetailReport3;
private DevExpress.XtraReports.UI.DetailBand Detail4;
@@ -479,5 +498,14 @@ namespace KontaktUndKrisenhilfeReports
private DevExpress.XtraReports.UI.XRTableRow xrTableRow1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell1;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell13;
private DevExpress.XtraReports.UI.XRTable xrTable1;
private DevExpress.XtraReports.UI.XRTableRow xrTableRow3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell2;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell3;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell10;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell14;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell15;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell18;
private DevExpress.XtraReports.UI.XRTableCell xrTableCell4;
}
}

View File

@@ -16,7 +16,26 @@ namespace KontaktUndKrisenhilfeReports.Reporting
{
public class CustomAnnualReportFactory : AnnualReportFactory
{
public override bool ShouldProcessSupportConcept(CostBearer2SupportConcept iCb2Sc, SupportConcept sc, Customer customer)
public override List<AnnualReportDC> CreateAnnualReport(CostBearer cb, long? teamOid, long? customerCareTypeValueListEntryOid, DateTime reportStartDate,
DateTime reportEndDate)
{
var annualReport = base.CreateAnnualReport(cb, teamOid, customerCareTypeValueListEntryOid, reportStartDate, reportEndDate);
if (reportStartDate.Month + 1 != reportEndDate.Month)
return annualReport;
var zugaenge = annualReport.FirstOrDefault(r => r.Name == "Anzahl der Zugänge");
if (zugaenge != null)
{
zugaenge.Data = CreateZugaengeReport(ReportStartDate, ReportEndDate, Cb2ScListPerCustomerOid, CustomerByOid).Data;
}
return annualReport;
}
public override bool ShouldProcessSupportConcept(CostBearer2SupportConcept iCb2Sc, SupportConcept sc, Customer customer)
{
if (sc.IsActive != ActivationTypeId.Deleted && customer.IsActive != ActivationTypeId.Deleted)
{
@@ -31,5 +50,199 @@ namespace KontaktUndKrisenhilfeReports.Reporting
}
return false;
}
}
// Hier nur die aktiven Klienten im Monat des Reports holen statt alle pro Halbjahr
public override AnnualReportDC CreateCountPerYearReport()
{
if (ReportStartDate.Month + 1 != ReportEndDate.Month)
return base.CreateCountPerYearReport();
var countPerMonthAll = new Dictionary<int, int>();
var countPerMonthMale = new Dictionary<int, int>();
var countPerMonthFemale = new Dictionary<int, int>();
var countPerMonthDivers = new Dictionary<int, int>();
var countPerMonthNames = new Dictionary<int, List<string>>();
countPerMonthAll.Add(ReportStartDate.Year, 0);
countPerMonthMale.Add(ReportStartDate.Year, 0);
countPerMonthFemale.Add(ReportStartDate.Year, 0);
countPerMonthDivers.Add(ReportStartDate.Year, 0);
countPerMonthNames.Add(ReportStartDate.Year, new List<string>());
foreach (var customerOid in Cb2ScListPerCustomerOid.Keys)
{
var customer = CustomerByOid[customerOid];
var c2sList = Cb2ScListPerCustomerOid[customerOid];
bool isFirst = true;
foreach (var c2s in c2sList)
{
var startDate = c2s.StartDate;
if (isFirst && customer.AssistanceBegin.HasValue && customer.AssistanceBegin < startDate)
{
startDate = customer.AssistanceBegin;
}
isFirst = false;
var endDate = c2s.EndDate;
if (customer.TerminationDate.HasValue && customer.TerminationDate < endDate)
{
endDate = customer.TerminationDate;
}
if (startDate <= ReportEndDate && endDate >= ReportEndDate)
{
countPerMonthAll[ReportStartDate.Year] += 1;
countPerMonthNames[ReportStartDate.Year].Add(String.Format("{0}, {1}", customer.Person.LastName, customer.Person.FirstName));
if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Male)
{
countPerMonthMale[ReportStartDate.Year] += 1;
}
else if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Female)
{
countPerMonthFemale[ReportStartDate.Year] += 1;
}
else if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Divers)
{
countPerMonthDivers[ReportStartDate.Year] += 1;
}
}
}
}
var report = new AnnualReportDC();
report.Name = "Anzahl der Betreuungen";
report.Data = new List<AnnualReportDataDC>();
DateTime startYear = ReportStartDate; //reportStartDate.AddYears(-1); //Vorjahr
int index = 1;
AnnualReportDataDC data = new AnnualReportDataDC();
report.Data.Add(data);
data.Index = index++;
data.Name = String.Format("{0:MMMM yyyy}", new DateTime(startYear.Year, startYear.Month, 1));
data.Value = countPerMonthAll[startYear.Year];
data.CustomerNames = countPerMonthNames[startYear.Year];
if (countPerMonthMale.ContainsKey(startYear.Year))
{
data.Male = countPerMonthMale[startYear.Year];
}
if (countPerMonthFemale.ContainsKey(startYear.Year))
{
data.Female = countPerMonthFemale[startYear.Year];
}
if (countPerMonthDivers.ContainsKey(startYear.Year))
{
data.Divers = countPerMonthDivers[startYear.Year];
}
var testsb = new StringBuilder();
foreach (var str in report.Data[report.Data.Count - 1].CustomerNames.OrderBy(s => s))
{
testsb.AppendLine(str);
}
var teststr = testsb.ToString();
return report;
}
public static AnnualReportDC CreateZugaengeReport(DateTime reportStartDate, DateTime reportEndDate, Dictionary<long, List<CostBearer2SupportConcept>> cb2ScListPerCustomerOid, Dictionary<long, Customer> customerByOid)
{
var countPerMonthAll = new Dictionary<int, int>();
var countPerMonthMale = new Dictionary<int, int>();
var countPerMonthFemale = new Dictionary<int, int>();
var countPerMonthDivers = new Dictionary<int, int>();
var countPerMonthNames = new Dictionary<int, List<string>>();
countPerMonthAll.Add(reportStartDate.Year, 0);
countPerMonthMale.Add(reportStartDate.Year, 0);
countPerMonthFemale.Add(reportStartDate.Year, 0);
countPerMonthDivers.Add(reportStartDate.Year, 0);
countPerMonthNames.Add(reportStartDate.Year, new List<string>());
foreach (var customerOid in cb2ScListPerCustomerOid.Keys)
{
var customer = customerByOid[customerOid];
var c2sList = cb2ScListPerCustomerOid[customerOid];
bool isFirst = true;
foreach (var c2s in c2sList)
{
var startDate = c2s.StartDate;
if (isFirst && customer.AssistanceBegin.HasValue && customer.AssistanceBegin < startDate)
{
startDate = customer.AssistanceBegin;
}
isFirst = false;
var endDate = c2s.EndDate;
if (customer.TerminationDate.HasValue && customer.TerminationDate < endDate)
{
endDate = customer.TerminationDate;
}
if (startDate >= reportStartDate && startDate <= reportEndDate)
{
countPerMonthAll[reportStartDate.Year] += 1;
countPerMonthNames[reportStartDate.Year].Add(String.Format("{0}, {1}", customer.Person.LastName, customer.Person.FirstName));
if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Male)
{
countPerMonthMale[reportStartDate.Year] += 1;
}
else if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Female)
{
countPerMonthFemale[reportStartDate.Year] += 1;
}
else if (customer.Person.Sex.HasValue && customer.Person.Sex.Value == Sex.Divers)
{
countPerMonthDivers[reportStartDate.Year] += 1;
}
}
}
}
var report = new AnnualReportDC();
report.Name = "Anzahl der Betreuungen";
report.Data = new List<AnnualReportDataDC>();
DateTime startYear = reportStartDate; //reportStartDate.AddYears(-1); //Vorjahr
int index = 1;
AnnualReportDataDC data = new AnnualReportDataDC();
report.Data.Add(data);
data.Index = index++;
data.Name = String.Format("{0:MMMM yyyy}", new DateTime(startYear.Year, startYear.Month, 1));
data.Value = countPerMonthAll[startYear.Year];
data.CustomerNames = countPerMonthNames[startYear.Year];
if (countPerMonthMale.ContainsKey(startYear.Year))
{
data.Male = countPerMonthMale[startYear.Year];
}
if (countPerMonthFemale.ContainsKey(startYear.Year))
{
data.Female = countPerMonthFemale[startYear.Year];
}
if (countPerMonthDivers.ContainsKey(startYear.Year))
{
data.Divers = countPerMonthDivers[startYear.Year];
}
var testsb = new StringBuilder();
foreach (var str in report.Data[report.Data.Count - 1].CustomerNames.OrderBy(s => s))
{
testsb.AppendLine(str);
}
var teststr = testsb.ToString();
return report;
}
}
}