diff --git a/ReportImp/AWOMuensterlandRecklinghausen/Reporting/KannAllesWeissAllesRO.cs b/ReportImp/AWOMuensterlandRecklinghausen/Reporting/KannAllesWeissAllesRO.cs index 836d815c9..26ffecf9f 100644 --- a/ReportImp/AWOMuensterlandRecklinghausen/Reporting/KannAllesWeissAllesRO.cs +++ b/ReportImp/AWOMuensterlandRecklinghausen/Reporting/KannAllesWeissAllesRO.cs @@ -620,19 +620,28 @@ namespace AWOMuensterlandRecklinghausen.Reporting // 6.2 Für jeden Kostenträger alle Bewilligungen raussuchen List apList = new List(); cr.Bewilligungsbezeichnungen = hp.Notice; - foreach (var ap in hp.ApprovalPeriodList) + + if (hp.ApprovalPeriodList != null && hp.ApprovalPeriodList.Count > 0) { - cr.ApprovedTotal += ap.ApprovedBEPerInterval ?? 0; - apList.Add(ap); - if (!cr.Bewilligungen.ContainsKey(cr.cb2sc)) + var berichtsdatum = DateTime.Now; + var aktuelleBewilligungen = hp.ApprovalPeriodList.Where(ap => ap.StartDate.HasValue && berichtsdatum >= ap.StartDate && ap.EndDate.HasValue && berichtsdatum <= ap.EndDate || + ap.StartDate.HasValue && berichtsdatum >= ap.StartDate && !ap.EndDate.HasValue).ToList(); + + foreach (var ap in aktuelleBewilligungen) { - cr.Bewilligungen.Add(cr.cb2sc, apList); - } - else - { - cr.Bewilligungen[cr.cb2sc].Add(ap); + cr.ApprovedTotal += ap.ApprovedBEPerInterval ?? 0; + apList.Add(ap); + if (!cr.Bewilligungen.ContainsKey(cr.cb2sc)) + { + cr.Bewilligungen.Add(cr.cb2sc, apList); + } + else + { + cr.Bewilligungen[cr.cb2sc].Add(ap); + } } } + } ro.AllCustomerRelations.Add(cr);