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 = Utils.CurrentYear;
        public Dictionary<string, MemberBucket> MemberBuckets;

        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();
        }
    }
}