Ejemplo n.º 1
0
 public virtual ActionResult BalanceSheet(string asOnDate)
 {
     return(ThrowIfNotLoggedIn(() => TryExecute(() =>
     {
         var toDate = DateTime.ParseExact(asOnDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
         var incomeAndExpense = _reportsService.GetIncomeAndExpense(DateTime.Parse("01/01/1900"), toDate, WebUser.TenantId);
         var incomeHeads = incomeAndExpense.Where(i => i.AccountCategory == "Income").ToList();
         var expenseHead = incomeAndExpense.Where(e => e.AccountCategory == "Expense").ToList();
         double incomeSum = incomeHeads.Sum(income => (double?)income.Credit) ?? 0;
         double expenseSum = expenseHead.Sum(expense => (double?)expense.Debit) ?? 0;
         double profitOrLoss = incomeSum - expenseSum;
         var balanceSheet = _reportsService.BalanceSheet(toDate, WebUser.TenantId);
         var assetHeads = balanceSheet.Where(i => i.AccountCategory == "Asset").ToList();
         var liabilityHeads = balanceSheet.Where(e => e.AccountCategory == "Liability").ToList();
         var vm = new { Asset = assetHeads, Liability = liabilityHeads, ProfitOrLoss = profitOrLoss };
         return vm;
     })));
 }