SBBMainzReports/SBBMainzReportCreator - Finish für TS aus ergänzenden Diensten
SupportOID=164917
This commit is contained in:
@@ -35,12 +35,10 @@ namespace SBBMainzReports.Invoicing
|
||||
List<ServiceRecordDC> serviceRecordsInPeriod = serviceRecords.Where(
|
||||
i =>
|
||||
{
|
||||
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value,
|
||||
serviceInvoicePeriod.End.Value, true);
|
||||
bool valid = i.Start.Value.InBetween(serviceInvoicePeriod.Start.Value, serviceInvoicePeriod.End.Value, true);
|
||||
|
||||
if (valid && serviceInvoicePeriod.SupportConceptApprovalPeriod != null && serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory != null)
|
||||
valid = serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory.Oid ==
|
||||
i.ServiceDescription.Category.ServiceCategoryOid;
|
||||
valid = serviceInvoicePeriod.SupportConceptApprovalPeriod.ServiceCategory.Oid == i.ServiceDescription.Category.ServiceCategoryOid;
|
||||
return valid;
|
||||
}).ToList();
|
||||
if (cb2sc.CustomerReferenceNumber != null && cb2sc.CustomerReferenceNumber.Trim().ToLower().EndsWith("b") || (cb2sc.AuswahlBezeichnung != null && cb2sc.AuswahlBezeichnung.Trim().ToLower().Contains("bienen")))
|
||||
@@ -83,7 +81,6 @@ namespace SBBMainzReports.Invoicing
|
||||
true, true);
|
||||
}
|
||||
|
||||
|
||||
var itemList = CreateInvoiceItems(serviceRecordsInPeriod, invoicePeriod, serviceInvoicePeriod.SupportConceptApprovalPeriod, calc);
|
||||
serviceInvoicePeriod.InvoiceItemList.AddRange(itemList);
|
||||
}
|
||||
|
||||
@@ -26,25 +26,20 @@ namespace SBBMainzReports
|
||||
int tage;
|
||||
if (pRO.StartDate >= new DateTime(2026, 4, 1))
|
||||
{
|
||||
var additionalServices = DAOFactory.SearchDAO.GetAdditionalServiceBookingsForCustomer(
|
||||
pRO.CustomerOid, pRO.StartDate, pRO.EndDate);
|
||||
additionalServices = additionalServices
|
||||
.Where(s => s.Datum.HasValue && s.AdditionalServiceRegion != null
|
||||
&& s.AdditionalServiceRegion.AdditionalService != null
|
||||
&& s.AdditionalServiceRegion.AdditionalService.Name != null
|
||||
var additionalServices = DAOFactory.SearchDAO.GetAdditionalServiceBookingsForCustomer(pRO.CustomerOid, pRO.StartDate, pRO.EndDate);
|
||||
additionalServices = additionalServices.Where(s => s.Datum.HasValue && s.AdditionalServiceRegion != null
|
||||
&& s.AdditionalServiceRegion.AdditionalService != null && s.AdditionalServiceRegion.AdditionalService.Name != null
|
||||
&& s.AdditionalServiceRegion.AdditionalService.Name == "Tagessttruktur")
|
||||
.GroupBy(s => new { Date = s.Datum.Value.Date, Name = s.AdditionalServiceRegion.AdditionalService.Name })
|
||||
.Select(g => g.Select(s => new
|
||||
{
|
||||
Service = s,
|
||||
Booking = s.Customer2AddServiceBookings?.Where(c2a => c2a != null && c2a.CustomerOid == pRO.CustomerOid)
|
||||
Service = s, Booking = s.Customer2AddServiceBookings?.Where(c2a => c2a != null && c2a.CustomerOid == pRO.CustomerOid)
|
||||
.OrderByDescending(c2a => c2a.Oid).FirstOrDefault()
|
||||
}).Where(x => x.Booking != null)
|
||||
.OrderByDescending(x => x.Booking.Oid).FirstOrDefault()?.Service)
|
||||
.Where(s => s != null).ToList();
|
||||
|
||||
tage = additionalServices.Count(s => s.Customer2AddServiceBookings != null
|
||||
&& s.Customer2AddServiceBookings.Any(c2a => c2a.CustomerOid == pRO.CustomerOid && c2a.Participated));
|
||||
tage = additionalServices.Count(s => s.Customer2AddServiceBookings != null && s.Customer2AddServiceBookings.Any(c2a => c2a.CustomerOid == pRO.CustomerOid && c2a.Participated));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace SBBMainzReports
|
||||
}
|
||||
if (ro.StartDate >= new DateTime(2026, 5, 1))
|
||||
{
|
||||
// Ab April 2026: AdditionalServices statt ServiceRecords prüfen ob TS-Kunde
|
||||
// Ab Mai 2026: AdditionalServices statt ServiceRecords prüfen ob TS-Kunde
|
||||
var additionalServices = DAOFactory.SearchDAO.GetAdditionalServiceBookingsForCustomer(ro.CustomerOid, ro.StartDate, ro.EndDate);
|
||||
bool isTsKunde = tsRo.Services.Count > 0 || additionalServices.Any(a => a.AdditionalServiceRegion?.AdditionalService?.Name == "Tagessttruktur");
|
||||
if (isTsKunde)
|
||||
@@ -155,7 +155,6 @@ namespace SBBMainzReports
|
||||
{
|
||||
report = new T();
|
||||
((T)report).SetReportDataSource(ro);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user