public void TransferEntry(GeneralLedgerEntry generalLedgerEntry) { generalLedgerEntry.MustBeInBalance(); generalLedgerEntry.MustBePosted(); ProfitAndLoss.Transfer(generalLedgerEntry); TrialBalance.Transfer(generalLedgerEntry); TrialBalance.MustBeInBalance(); _generalLedgerEntryIdentifiers.Remove(generalLedgerEntry.Identifier); }
public GeneralLedgerEntry Complete() { if (_generalLedgerEntryIdentifiers.Count > 0) { throw new PeriodContainsUntransferredEntriesException(_accountingPeriod, _generalLedgerEntryIdentifiers.ToArray()); } TrialBalance.MustBeInBalance(); return(ProfitAndLoss.GetClosingEntry(_accountIsDeactivated, _retainedEarningsAccount, _closingOn, _closingGeneralLedgerEntryIdentifier)); }