[#77] Entities: Add AreaComContract to group area commitments together

This commit is contained in:
2026-03-30 19:35:53 +02:00
parent f96ebdcf60
commit 4460de9975
26 changed files with 918 additions and 335 deletions

View File

@@ -556,8 +556,10 @@ namespace Elwig.Services {
.ToListAsync();
var areaComs = await query
.SelectMany(m => m.AreaCommitments)
.Select(c => c.Contract).Distinct()
.Include(c => c.Rd)
.Include(c => c.Kg.Gl)
.Include(c => c.Revisions)
.ToListAsync();
var wbKgs = members
.Where(m => m.DefaultWbKg != null)
@@ -681,19 +683,17 @@ namespace Elwig.Services {
.Where(c => c.MgNr == predecessor && (c.YearTo == null || c.YearTo >= year))
.ToListAsync();
var fbNr = await ctx.NextFbNr();
ctx.AddRange(areaComs.Select((c, i) => new AreaCom {
FbNr = fbNr + i,
ctx.AddRange(await Task.WhenAll(areaComs.Select(async (c, i) => new AreaCom {
FbNr = c.FbNr,
RevNr = await ctx.NextRevNr(c.FbNr),
MgNr = m.MgNr,
VtrgId = c.VtrgId,
CultId = c.CultId,
Area = c.Area,
KgNr = c.KgNr,
GstNr = c.GstNr,
RdNr = c.RdNr,
YearFrom = vm.MaintainAreaComYearFrom ? c.YearFrom : year,
YearFrom = year,
YearTo = c.YearTo,
}));
})));
foreach (var ac in areaComs)
ac.YearTo = year - 1;