public async Task <FinancialReportViewModel> GetFinancialReportByCompany(string companyCode, string type, int pageIndex, int itemsPage) { var businessResultQuery = _businessResultRepository.Query(t => t.Company.Code == companyCode && (type == "annual" ? (t.EndDate.Month - t.StartDate.Month) == 11 : (t.EndDate.Month - t.StartDate.Month) == 2) && !t.IsDeleted); var businessResults = await businessResultQuery .OrderByDescending(t => t.StartDate) .Skip(itemsPage * pageIndex) .Take(itemsPage) .ToListAsync(); var balanceSheets = await _balanceSheetRepository.Query(t => t.Company.Code == companyCode && (type == "annual" ? (t.EndDate.Month - t.StartDate.Month) == 11 : (t.EndDate.Month - t.StartDate.Month) == 2) && !t.IsDeleted) .OrderByDescending(t => t.StartDate) .Skip(itemsPage * pageIndex) .Take(itemsPage) .ToListAsync(); var totalItems = businessResultQuery.Count(); var vm = new FinancialReportViewModel() { BusinessResults = _mapper.Map <List <BusinessResultViewModel> >(businessResults).OrderBy(t => t.StartDate), BalanceSheets = _mapper.Map <List <BalanceSheetViewModel> >(balanceSheets).OrderBy(t => t.StartDate), Pagination = new PaginationViewModel() { ActualPage = pageIndex, ItemsPerPage = businessResults.Count, TotalItems = totalItems, TotalPages = int.Parse(Math.Ceiling(((decimal)totalItems / itemsPage)).ToString()) } }; vm.Pagination.IsNext = (vm.Pagination.ActualPage == vm.Pagination.TotalPages - 1) ? false : true; vm.Pagination.IsPrevious = (vm.Pagination.ActualPage == 0) ? false : true; return(vm); }
public async Task <JsonResult> FinancialReport(string keyword = null, string state = null, DateTime?startDate = null, DateTime?endDate = null) { FinancialReportViewModel fin = new FinancialReportViewModel(false); await fin.GetFinancialReport(true, keyword, state, startDate, endDate); return(Json(fin, JsonRequestBehavior.AllowGet)); }
public ActionResult ViewTransactions([FromUri] int id) { var acc = _context.GlAccounts.SingleOrDefault(c => c.Id == id); var fReport = new FinancialReportViewModel() { FinancialReport = new FinancialReport(), Id = id, Name = acc.Name }; return(View("ViewTransactions", fReport)); }
public async void FinancialReport() { var controller = new ReportController(); var result = await controller.FinancialReport(); FinancialReportViewModel fin = null; try { fin = (FinancialReportViewModel)result.Data; } catch (Exception ex) { throw new Exception("FinancialReportViewModel failed to parse: " + ex.Message); } Assert.NotNull(fin); Assert.AreEqual(String.Empty, fin.ErrorMsg); Assert.AreEqual(10, fin.data.Count); }