[#5] MemberDataSheet: Add generating a member data sheet

This commit is contained in:
2023-11-30 01:32:11 +01:00
parent 8a6086ba6d
commit 08108f0c18
8 changed files with 473 additions and 1 deletions

View File

@ -0,0 +1,21 @@
using Elwig.Helpers;
using Elwig.Models.Entities;
using System;
using System.Collections.Generic;
namespace Elwig.Documents {
public class MemberDataSheet : BusinessDocument {
public Season Season;
public int Year = 2023;
public Dictionary<string, (string, int, int, int, int)> MemberBuckets;
public Dictionary<string, int> BucketAreas;
public MemberDataSheet(Member m, AppDbContext ctx) : base($"Stammdatenblatt {m.AdministrativeName}", m) {
DocumentId = $"Stammdatenblatt {m.MgNr}";
Season = ctx.Seasons.Find(Year) ?? throw new ArgumentException("invalid season");
MemberBuckets = ctx.GetMemberBuckets(Year, m.MgNr).GetAwaiter().GetResult();
BucketAreas = ctx.GetMemberBucketAreas(Year, m.MgNr).GetAwaiter().GetResult();
}
}
}