private decimal GetBalance() { if (ParentAccountId == null) { //top-level accounts var val = ChildAccounts.Sum(c => c.Balance); return(val); } var drAmount = GeneralLedgerLines.Where(l => l.DrCr == DrOrCrSide.Dr).Sum(l => l.Amount); var crAmount = GeneralLedgerLines.Where(l => l.DrCr == DrOrCrSide.Cr).Sum(l => l.Amount); var balance = DrOrCrSide == DrOrCrSide.Dr ? drAmount - crAmount : crAmount - drAmount; return(balance); }
public void AddChildAccount(Account account) { ChildAccounts.Add(account); }