public virtual ReportStatementListModel PrepareReportStatementListModel(ReportStatementSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var list = consignmentOrderService.GetStatistics(
                pageIndex: searchModel.Page - 1,
                pageSize: searchModel.PageSize,
                consigneeName: searchModel.ConsigneeName,
                orderConsignmentTimeFrom: searchModel.OrderConsignmentTimeFrom,
                orderConsignmentTimeTo: searchModel.OrderConsignmentTimeTo,
                orderStatuses: (searchModel.OrderStatuses?.Contains(0) ?? false) ? null : searchModel.OrderStatuses,
                paymentStatuses: (searchModel.PaymentStatuses?.Contains(0) ?? false) ? null : searchModel.PaymentStatuses,
                shippingStatuses: (searchModel.ShippingStatuses?.Contains(0) ?? false) ? null : searchModel.ShippingStatuses);

            var model = new ReportStatementListModel
            {
                Data = list.Select(x =>
                {
                    var modelItem = x.ToModel <ReportStatementModel>();

                    modelItem.ShippingStatus     = x.Trip?.ShippingStatus;
                    modelItem.ShippingStatusName = modelItem.ShippingStatus.HasValue ? localizationService.GetLocalizedEnum(modelItem.ShippingStatus.Value) : string.Empty;
                    modelItem.PaymentStatusName  = localizationService.GetLocalizedEnum(modelItem.PaymentStatus);
                    modelItem.OrderStatusName    = localizationService.GetLocalizedEnum(modelItem.OrderStatus);

                    return(modelItem);
                }),
                Total = list.TotalCount
            };

            return(model);
        }
Exemple #2
0
        public virtual IActionResult StatementAggregates(ReportStatementSearchModel searchModel)
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ManageTrips))
            {
                return(AccessDeniedKendoGridJson());
            }

            var model = logisticsReportModelFactory.PrepareReportStatementAggrModel(searchModel);

            return(Json(model));
        }
        public virtual ReportStatementSearchModel PrepareReportStatementSearchModel(ReportStatementSearchModel model = null)
        {
            if (null == model)
            {
                model = new ReportStatementSearchModel();
            }

            baseAdminModelFactory.PrepareLogisticsOrderStatus(model.AvailableOrderStatuses);
            if (model.AvailableOrderStatuses.Any())
            {
                if (model.OrderStatuses?.Any() ?? false)
                {
                    var statuses = model.OrderStatuses.Select(x => x.ToString());
                    model.AvailableOrderStatuses.Where(x => statuses.Contains(x.Value)).ToList()
                    .ForEach(x => x.Selected = true);
                }
                else
                {
                    model.AvailableOrderStatuses.FirstOrDefault().Selected = true;
                }
            }
            baseAdminModelFactory.PrepareLogisticsPaymentStatus(model.AvailablePaymentStatuses);
            if (model.AvailablePaymentStatuses.Any())
            {
                if (model.PaymentStatuses?.Any() ?? false)
                {
                    var statuses = model.PaymentStatuses.Select(x => x.ToString());
                    model.AvailablePaymentStatuses.Where(x => statuses.Contains(x.Value)).ToList()
                    .ForEach(x => x.Selected = true);
                }
                else
                {
                    model.AvailablePaymentStatuses.FirstOrDefault().Selected = true;
                }
            }
            baseAdminModelFactory.PrepareLogisticsShippingStatus(model.AvailableShippingStatuses);
            if (model.AvailableShippingStatuses.Any())
            {
                if (model.ShippingStatuses?.Any() ?? false)
                {
                    var statuses = model.ShippingStatuses.Select(x => x.ToString());
                    model.AvailableShippingStatuses.Where(x => statuses.Contains(x.Value)).ToList()
                    .ForEach(x => x.Selected = true);
                }
                else
                {
                    model.AvailableShippingStatuses.FirstOrDefault().Selected = true;
                }
            }

            return(model);
        }
        public virtual ReportStatementAggrModel PrepareReportStatementAggrModel(ReportStatementSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var aggr = consignmentOrderService.GetAggregates(
                consigneeName: searchModel.ConsigneeName,
                orderConsignmentTimeFrom: searchModel.OrderConsignmentTimeFrom,
                orderConsignmentTimeTo: searchModel.OrderConsignmentTimeTo,
                orderStatuses: (searchModel.OrderStatuses?.Contains(0) ?? false) ? null : searchModel.OrderStatuses,
                paymentStatuses: (searchModel.PaymentStatuses?.Contains(0) ?? false) ? null : searchModel.PaymentStatuses,
                shippingStatuses: (searchModel.ShippingStatuses?.Contains(0) ?? false) ? null : searchModel.ShippingStatuses);

            return(new ReportStatementAggrModel
            {
                Receivable = aggr.Receivable,
                Receipts = aggr.Receipts
            });
        }