public GncMultiAmount Clone() { var result = new GncMultiAmount(); result.Timepoint = Timepoint; result._commodities = new AutoDictionary <GncCommodity, decimal>(_commodities); return(result); }
public GncMultiAmount GetTotalWithSubaccounts(DateInterval interval) { var result = new GncMultiAmount(); foreach (var split in EnumSplits(true).Where(spl => interval.Contains(spl.Transaction.DatePosted))) { result.AddInplace(split.Amount); } return(result); }
public void AddInplace(GncMultiAmount amt) { foreach (var kvp in amt._commodities) { _commodities[kvp.Key] += kvp.Value; } if (Timepoint != amt.Timepoint) { Timepoint = null; } }
public GncMultiAmount GetBalanceWithSubaccounts(DateTime asOf) { var result = new GncMultiAmount(); foreach (var split in EnumSplits(true).Where(spl => spl.Transaction.DatePosted <= asOf)) { result.AddInplace(split.Amount); } result.Timepoint = asOf; return(result); }
public bool Equals(GncMultiAmount other) => this == other;