/// <summary> /// Tilføjer kreditoplysinger. /// </summary> /// <param name="kreditoplysninger">Kreditoplysninger.</param> public virtual void TilføjKreditoplysninger(Kreditoplysninger kreditoplysninger) { if (kreditoplysninger == null) { throw new ArgumentNullException("kreditoplysninger"); } kreditoplysninger.SætKonto(this); _kreditoplysninger.Add(kreditoplysninger); }
/// <summary> /// Kalkulering af status på et givent tidspunkt. /// </summary> /// <param name="statusDato">Statusdato.</param> /// <param name="løbenr">Den unikke identifikation af bogføringslinjen, som indgår i beregningen.</param> public virtual void Calculate(DateTime statusDato, int løbenr) { // Beregn kredit pr. statusdato. var kreditoplysninger = Kreditoplysninger .SingleOrDefault(m => m.År == statusDato.Year && m.Måned == statusDato.Month); KreditPrStatusdato = kreditoplysninger == null ? 0M : kreditoplysninger.Kredit; // Beregn saldo pr. statusdato. SaldoPrStatusdato = Bogføringslinjer .Where(m => m.Dato.Date.CompareTo(statusDato.Date) < 0 || (m.Dato.Date.CompareTo(statusDato.Date) == 0 && m.Løbenummer <= løbenr)) .Sum(m => m.Debit - m.Kredit); }