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);
        }
Example #2
0
        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);
        }
Example #4
0
        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"));
            }
        }