public async Task <IActionResult> CustomerCreditUtilizedSettingsView([FromQuery] ReportFilterViewModel model) { try { if (!ModelState.IsValid) { throw new Exception("Form is not valid!"); } var company = await _companyBusinessManager.GetCompany(model.CompanyId); var creditUtilizedSettings = await _businessManager.GetCustomerCreditUtilizedSettings(model.CompanyId, model.Date); model.RoundType = creditUtilizedSettings == null ? company.Settings.RoundType : creditUtilizedSettings.RoundType; var report = await _reportBusinessManager.GetAgingReport(model.CompanyId, model.Date, 30, model.NumberOfPeriods, false); var creditUtilizedList = new List <CustomerCreditUtilizedViewModel>(); foreach (var data in report.Rows) { var customer = data.Customer; var creditUtilizeds = await _businessManager.GetCustomerCreditUtilizeds(customer.Id); var creditUtilized = creditUtilizeds .OrderByDescending(x => x.CreatedDate) .Where(x => x.CreatedDate <= model.Date).FirstOrDefault(); if (creditUtilized != null && creditUtilized.IsIgnored) { var value = data.Data["Total"]; if (model.RoundType == Core.Data.Enum.RoundType.RoundUp) { value = Math.Ceiling(value); } else if (model.RoundType == Core.Data.Enum.RoundType.RoundDown) { value = Math.Floor(value); } if (creditUtilized.Value < value) { creditUtilizedList.Add(_mapper.Map <CustomerCreditUtilizedViewModel>(creditUtilized)); } } } creditUtilizedList = creditUtilizedList.OrderBy(x => x.CreatedDate == model.Date).ToList(); var viewDataDictionary = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "CreditUtilizedList", _mapper.Map <List <CustomerCreditUtilizedViewModel> >(creditUtilizedList) } }; string html = await _viewRenderService.RenderToStringAsync("_CreateCustomerCreditsPartial", model, viewDataDictionary); return(Ok(html)); } catch (Exception er) { return(BadRequest(er.Message ?? er.StackTrace)); } }