BudgetAnalyser.Engine.Widgets.RemainingBudgetBucketWidget.MonthlyBudgetAmount C# (CSharp) Метод

MonthlyBudgetAmount() защищенный Метод

Calculates the monthly budget amount.
protected MonthlyBudgetAmount ( ) : decimal
Результат decimal
        protected virtual decimal MonthlyBudgetAmount()
        {
            Debug.Assert(Filter.BeginDate != null);
            Debug.Assert(Filter.EndDate != null);

            var monthlyBudget = Budget.Model.Expenses.Single(b => b.Bucket.Code == BucketCode).Amount;
            var totalBudgetedAmount = monthlyBudget;
            var ledgerLine = LedgerCalculation.LocateApplicableLedgerLine(LedgerBook, Filter);

            if (LedgerBook == null || ledgerLine == null ||
                ledgerLine.Entries.All(e => e.LedgerBucket.BudgetBucket.Code != BucketCode))
            {
                return totalBudgetedAmount;
            }

            return ledgerLine.Entries.First(e => e.LedgerBucket.BudgetBucket.Code == BucketCode).Balance;
        }