SHKService/Invoicing/BudgetnachweisAnhangRO.cs

This commit is contained in:
2023-07-19 18:04:14 +02:00
parent cfa7681ef6
commit 9a09bf52d9

View File

@@ -10,7 +10,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
namespace SHKService
namespace SHKService.Invoicing
{
public class BudgetnachweisAnhangRO : AbstractBeWoReportObject<BudgetnachweisAnhangRO>
{
@@ -20,7 +20,7 @@ namespace SHKService
public DateTime BewilligtStart { get; set; }
public DateTime BewilligtEnde { get; set; }
public List<Entgeltzeitraum> Entgeltzeitraeume { get; set; }
public List<BudgetnachweisMonatsZeile> MonatsZeilen { get; set; }
public List<BudgetnachweisWochenZeile> WochenZeilen { get; set; }
public decimal RateFactor { get; set; }
public decimal SummeFLMinuten { get; set; }
public decimal SummeFaktorMinuten { get; set; }
@@ -44,7 +44,7 @@ namespace SHKService
this.CustomerDC = MapperFactory.CustomerDC_Customer.MapToNewDC(customer);
this.BewilligtStart = dc.AccountingPeriodStart.Value;
this.BewilligtEnde = dc.AccountingPeriodEnd.Value;
this.MonatsZeilen = new List<BudgetnachweisMonatsZeile>();
this.WochenZeilen = new List<BudgetnachweisWochenZeile>();
this.Entgeltzeitraeume = new List<Entgeltzeitraum>();
var crList = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cb2sc.CostBearer.CostRatePeriods.Where(c => c.CostRateType == CostRatePeriodType.HourlyRate));
@@ -112,7 +112,7 @@ namespace SHKService
IList<ServiceRecord> serviceRecords = GetServiceRecords(cb2sc);
Dictionary<string, BudgetnachweisMonatsZeile> monat2Zeile = new Dictionary<string, BudgetnachweisMonatsZeile>();
Dictionary<string, BudgetnachweisWochenZeile> woche2Zeile = new Dictionary<string, BudgetnachweisWochenZeile>();
DateTime monat = new DateTime(this.BewilligtStart.Year, this.BewilligtStart.Month, this.BewilligtStart.Day);
@@ -120,9 +120,9 @@ namespace SHKService
{
String key = String.Format("{0:MM.yyyy}", monat);
var zeile = new BudgetnachweisMonatsZeile();
var zeile = new BudgetnachweisWochenZeile();
zeile.ServiceRecords = new List<ServiceRecordDC>();
zeile.Monat = monat;
zeile.Woche = monat;
zeile.SummeMinuten = 0;
zeile.SummeFehlkontakte = 0;
@@ -138,7 +138,7 @@ namespace SHKService
monat = new DateTime(monat.Year, monat.Month, 1);
monat = monat.AddMonths(1);
monat2Zeile.Add(key, zeile);
woche2Zeile.Add(key, zeile);
}
var groupBookingDict = new Dictionary<long, bool>();
@@ -153,11 +153,11 @@ namespace SHKService
var srDc = MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(sr);
String key = String.Format("{0:MM.yyyy}", sr.Start);
if (monat2Zeile.ContainsKey(key))
if (woche2Zeile.ContainsKey(key))
{
if (monat2Zeile[key].Monat <= sr.Start.Value.Date)
if (woche2Zeile[key].Woche <= sr.Start.Value.Date)
{
monat2Zeile[key].ServiceRecords.Add(srDc);
woche2Zeile[key].ServiceRecords.Add(srDc);
decimal minuten = sr.RoundedDuration;
decimal prozent = sr.ServiceDescription.ServiceCategory.ProzentAbrechnung;
@@ -170,10 +170,10 @@ namespace SHKService
//minuten *= (prozent / 100);
if (sr.ServiceDescription.Name.ToLower().Contains("fehlkontakt"))
{
monat2Zeile[key].SummeFehlkontakte += minuten;
woche2Zeile[key].SummeFehlkontakte += minuten;
}
else
monat2Zeile[key].SummeMinuten += minuten;
woche2Zeile[key].SummeMinuten += minuten;
foreach (var e in this.Entgeltzeitraeume)
@@ -194,7 +194,7 @@ namespace SHKService
}
}
this.MonatsZeilen.AddRange(monat2Zeile.Values.OrderBy(m => m.Monat));
this.WochenZeilen.AddRange(woche2Zeile.Values.OrderBy(m => m.Woche));
foreach (var e in this.Entgeltzeitraeume)
@@ -229,10 +229,10 @@ namespace SHKService
}
}
public class BudgetnachweisMonatsZeile
public class BudgetnachweisWochenZeile
{
public List<ServiceRecordDC> ServiceRecords { get; set; }
public DateTime Monat { get; set; }
public DateTime Woche { get; set; }
public decimal? SummeMinuten { get; set; }
public decimal? SummeFehlkontakte { get; set; }
public int Entgeltzeitraum { get; set; }