public virtual ReportBalanceListModel PrepareReportBalanceListModel(ReportBalanceSearchModel searchModel) { if (null == searchModel) { throw new ArgumentNullException(nameof(searchModel)); } var list = tripService.StatisticsBalance( pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize, frequency: searchModel.Frequency, tripShippingTimeFrom: searchModel.TripShippingTimeFrom, tripShippingTimeTo: searchModel.TripShippingTimeTo); var model = new ReportBalanceListModel { Data = list.Select(x => new ReportBalanceModel { StatisticsTime = x.StatisticsTime, Fees = x.Fees.ToDictionary(k => k.Key, v => new ReportFeeModel { Id = v.Value.CategoryId, Name = v.Value.Name, Type = v.Value.Type, Amount = v.Value.Amount }) }), Total = list.TotalCount }; return(model); }
public virtual IActionResult BalanceReport(ReportBalanceSearchModel searchModel) { if (!permissionService.Authorize(StandardPermissionProvider.ManageTrips)) { return(AccessDeniedKendoGridJson()); } var model = logisticsReportModelFactory.PrepareReportBalanceListModel(searchModel); return(Json(model)); }
public virtual ReportBalanceSearchModel PrepareReportBalanceSearchModel(ReportBalanceSearchModel model = null) { if (null == model) { model = new ReportBalanceSearchModel(); } baseAdminModelFactory.PrepareStatisticsFrequency(model.AvailableStatisticsFrequencies, false); baseAdminModelFactory.PrepareFeeCategories(model.AvailableFeeCategories, false); return(model); }
public virtual IActionResult ExportExcelBalanceReport(ReportBalanceSearchModel searchModel) { if (!permissionService.Authorize(StandardPermissionProvider.ManageTrips)) { return(AccessDeniedView()); } var list = tripService.StatisticsBalance( frequency: searchModel.Frequency, tripShippingTimeFrom: searchModel.TripShippingTimeFrom, tripShippingTimeTo: searchModel.TripShippingTimeTo); try { var bytes = exportManager.ExportLogisticsBalanceReportToXlsx(list); return(File(bytes, MimeTypes.TextXlsx, $"{localizationService.GetResource("Admin.LogisticsReports.Trips.Balance")}.xlsx")); } catch (Exception ex) { ErrorNotification(ex); return(RedirectToAction("List")); } }