diff --git a/ReportImp/CaritasverbandKelheim/Service/CustomGroupDurationCalculator.cs b/ReportImp/CaritasverbandKelheim/Service/CustomGroupDurationCalculator.cs new file mode 100644 index 000000000..0f84e20c8 --- /dev/null +++ b/ReportImp/CaritasverbandKelheim/Service/CustomGroupDurationCalculator.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using BeWo.Data.Access; +using BeWo.Data.Entities; +using BeWo.Service.DCEntityMapper; +using BeWo.Service.Plugins; +using BS.Shared.Core; +using BS.Shared.DataContracts; +using BS.Shared.Services; + +namespace CaritasverbandKelheim.Calculation +{ + public class CustomGroupDurationCalculator : GroupDurationCalculator + { + public override GroupDurationDC CalculateGroupDuration(int personCount, int employeeCount, decimal totalDuration, + long[] costBearer2SupportConceptArray) + { + if (totalDuration <= 7) + { + totalDuration = 0; // Runde auf 0 Minuten, da kleiner als 8 + } + else + { + int rest = Convert.ToInt32(totalDuration) % 15; + + if (rest <= 7) + { + totalDuration = Convert.ToInt32(totalDuration) - rest; // Abgerundet auf das vorherige Vielfache von 15 + } + else + { + totalDuration = Convert.ToInt32(totalDuration) + (15 - rest); // Auf das nächste Vielfache von 15 aufrunden + } + } + return new GroupDurationDC() + { + SingleDuration = totalDuration /personCount, + TotalDuration = totalDuration + }; + } + } +} diff --git a/ReportImp/CaritasverbandKelheim/Service/CustomSaveInterceptor.cs b/ReportImp/CaritasverbandKelheim/Service/CustomSaveInterceptor.cs index bb5c0989a..d82eaafde 100644 --- a/ReportImp/CaritasverbandKelheim/Service/CustomSaveInterceptor.cs +++ b/ReportImp/CaritasverbandKelheim/Service/CustomSaveInterceptor.cs @@ -13,8 +13,8 @@ namespace CaritasverbandKelheim.Service public override void BeforeSaveServiceRecord(ServiceRecord sr) { // Vor 7 Minuten soll abgerundet, danach 15 aufgerundet werden, wenn bei KT 15 Min eingestellt ist und es Bezirk Niederbayern ist - if (sr.CostBearer2SupportConcept != null && sr.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("bezirk niederbayern") && sr.Start.HasValue && sr.End.HasValue) - { + //if (sr.CostBearer2SupportConcept != null && sr.CostBearer2SupportConcept.CostBearer.Organisation.Name.ToLower().Contains("bezirk niederbayern") && sr.Start.HasValue && sr.End.HasValue) + //{ if (sr.DurationMinutes <= 7) { sr.RoundedDuration = 0; // Runde auf 0 Minuten, da kleiner als 8 @@ -32,7 +32,7 @@ namespace CaritasverbandKelheim.Service sr.RoundedDuration = Convert.ToInt32(sr.DurationMinutes) + (15 - rest); // Auf das nächste Vielfache von 15 aufrunden } } - } + //} } } }