示例#1
0
        public virtual IActionResult ExportExcelAll(ConsignmentOrderSearchModel searchModel)
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ManageConsignmentOrders))
            {
                return(AccessDeniedView());
            }

            var list = consignmentOrderService.GetAll(
                shipmentMethod: searchModel.SearchShipmentMethod,
                startPoint: searchModel.SearchStartPoint,
                terminal: searchModel.SearchTerminal,
                consignor: searchModel.SearchConsignor,
                consignee: searchModel.SearchConsignee,
                tripId: searchModel.TripId,
                noRelatedTrip: searchModel.SearchNoRelatedTrip,
                serialNum: searchModel.SearchSerialNum,
                consignmentTimeFrom: searchModel.SearchConsignmentTimeFrom,
                consignmentTimeTo: searchModel.SearchConsignmentTimeTo,
                orderStatuses: (searchModel.SearchOrderStatuses?.Contains(0) ?? false) ? null : searchModel.SearchOrderStatuses,
                paymentStatuses: (searchModel.SearchPaymentStatuses?.Contains(0) ?? false) ? null : searchModel.SearchPaymentStatuses);

            try
            {
                var bytes = exportManager.ExportConsignmentOrdersToXlsx(list);

                return(File(bytes, MimeTypes.TextXlsx, $"{localizationService.GetResource("Admin.Logistics.ConsignmentOrder")}.xlsx"));
            }
            catch (Exception ex)
            {
                ErrorNotification(ex);
                return(RedirectToAction("List"));
            }
        }
示例#2
0
        public virtual ConsignmentOrderListModel PrepareConsignmentOrderListModel(ConsignmentOrderSearchModel searchModel, Trip entity)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var list = entity?.Orders
                       .OrderByDescending(x => x.CTime)
                       .ToList() ?? new List <ConsignmentOrder>();

            var model = new ConsignmentOrderListModel
            {
                Data = list.PaginationByRequestModel(searchModel).Select(x =>
                {
                    var modelItem   = x.ToModel <ConsignmentOrderModel>();
                    modelItem.CTime = dateTimeHelper.ConvertToUserTime(modelItem.CTime, DateTimeKind.Utc);

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

            return(model);
        }
示例#3
0
        public virtual IActionResult List(ConsignmentOrderSearchModel searchModel)
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ManageConsignmentOrders))
            {
                return(AccessDeniedView());
            }

            var model = consignmentOrderFactory.PrepareListModel(searchModel);

            return(Json(model));
        }
示例#4
0
        public virtual IActionResult GetConsignmentOrder(ConsignmentOrderSearchModel searchModel)
        {
            if (!permissionService.Authorize(StandardPermissionProvider.ManageTrips))
            {
                return(AccessDeniedKendoGridJson());
            }

            var entity = tripService.Get(searchModel.TripId);

            var model = tripFactory.PrepareConsignmentOrderListModel(searchModel, entity);

            return(Json(model));
        }
示例#5
0
        public virtual ConsignmentOrderSearchModel PrepareSearchModel(ConsignmentOrderSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            baseAdminModelFactory.PrepareShipmentMethods(searchModel.AvailableShipmentMethods);
            baseAdminModelFactory.PrepareLogisticsOrderStatus(searchModel.AvailableOrderStatuses);
            baseAdminModelFactory.PrepareLogisticsPaymentStatus(searchModel.AvailablePaymentStatuses);

            searchModel.SetGridPageSize();

            return(searchModel);
        }
示例#6
0
        public virtual ConsignmentOrderListModel PrepareListModel(ConsignmentOrderSearchModel searchModel)
        {
            if (null == searchModel)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var list = consignmentOrderService.GetAll(
                pageIndex: searchModel.Page - 1,
                pageSize: searchModel.PageSize,
                shipmentMethod: searchModel.SearchShipmentMethod,
                startPoint: searchModel.SearchStartPoint,
                terminal: searchModel.SearchTerminal,
                consignor: searchModel.SearchConsignor,
                consignee: searchModel.SearchConsignee,
                tripId: searchModel.TripId,
                noRelatedTrip: searchModel.SearchNoRelatedTrip,
                serialNum: searchModel.SearchSerialNum,
                consignmentTimeFrom: searchModel.SearchConsignmentTimeFrom,
                consignmentTimeTo: searchModel.SearchConsignmentTimeTo,
                orderStatuses: (searchModel.SearchOrderStatuses?.Contains(0) ?? false) ? null : searchModel.SearchOrderStatuses,
                paymentStatuses: (searchModel.SearchPaymentStatuses?.Contains(0) ?? false) ? null : searchModel.SearchPaymentStatuses);

            var model = new ConsignmentOrderListModel
            {
                Data = list.Select(x =>
                {
                    var modelItem = x.ToModel <ConsignmentOrderModel>();
                    PrepareModel(ref modelItem);

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

            return(model);
        }
示例#7
0
        protected virtual ConsignmentOrderSearchModel PrepareConsignmentOrderSearchModel(ConsignmentOrderSearchModel model, Trip entity)
        {
            if (null == model)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (null == entity)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            model.TripId = entity.Id;
            model.SetGridPageSize();

            return(model);
        }