BudgetAnalyser.Engine.UnitTest.TestData.LedgerBookDtoTestData.UpdateLineBalances C# (CSharp) Метод

UpdateLineBalances() приватный статический Метод

private static UpdateLineBalances ( LedgerEntryLineDto currentLine, LedgerEntryLineDto previousLine, decimal bankBalance ) : void
currentLine BudgetAnalyser.Engine.Ledger.Data.LedgerEntryLineDto
previousLine BudgetAnalyser.Engine.Ledger.Data.LedgerEntryLineDto
bankBalance decimal
Результат void
        private static void UpdateLineBalances(LedgerEntryLineDto currentLine, LedgerEntryLineDto previousLine, decimal bankBalance)
        {
            currentLine.BankBalance = bankBalance;
            currentLine.BankBalances.Add(new BankBalanceDto { Account = StatementModelTestData.ChequeAccount.Name, Balance = bankBalance });

            if (previousLine == null)
            {
                return;
            }

            foreach (LedgerEntryDto entry in currentLine.Entries)
            {
                LedgerEntryDto previousEntry = previousLine.Entries.Single(e => e.BucketCode == entry.BucketCode);
                entry.Balance = previousEntry.Balance + entry.Transactions.Sum(t => t.Amount);
                if (entry.Balance < 0)
                {
                    entry.Balance = 0;
                }
            }
        }
    }