private static decimal GetTotal(string totalKey, int yearIndex, BillingExpenseDataSummary summary) { var row = summary.Rows.FirstOrDefault(r => r.Key == totalKey); var total = row.Cells[yearIndex].Value; return(total); }
private static decimal CalculateBalanceToBeMoved(int yearIndex, BillingExpenseDataSummary summary) { var totalContractTermsAndIncurredCosts = GetTotal(Constants.BillingExpenseSummaryItem.TotalContractTermsAndIncurredCosts, yearIndex, summary); var expensePerFinancialYear = GetTotal(Constants.BillingExpenseSummaryItem.ExpensePerFY, yearIndex, summary); var previousBalance = 0m; if (yearIndex > 0) { previousBalance = GetTotal(Constants.BillingExpenseSummaryItem.BalanceToBeMoved, yearIndex - 1, summary); } return(previousBalance + totalContractTermsAndIncurredCosts - expensePerFinancialYear); }