public ActionResult AffiliatedOrderList(DataSourceRequest command, AffiliatedOrderListModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAffiliates)) { return(AccessDeniedView()); } var affiliate = _affiliateService.GetAffiliateById(model.AffliateId); if (affiliate == null) { throw new ArgumentException("No affiliate found with the specified id"); } DateTime?startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); var orderStatusIds = model.OrderStatusId > 0 ? new List <int>() { model.OrderStatusId } : null; var paymentStatusIds = model.PaymentStatusId > 0 ? new List <int>() { model.PaymentStatusId } : null; var shippingStatusIds = model.ShippingStatusId > 0 ? new List <int>() { model.ShippingStatusId } : null; var orders = _orderService.SearchOrders( createdFromUtc: startDateValue, createdToUtc: endDateValue, osIds: orderStatusIds, psIds: paymentStatusIds, ssIds: shippingStatusIds, affiliateId: affiliate.Id, pageIndex: command.Page - 1, pageSize: command.PageSize); var gridModel = new DataSourceResult { Data = orders.Select(order => { var orderModel = new AffiliateModel.AffiliatedOrderModel(); orderModel.Id = order.Id; orderModel.OrderStatus = order.OrderStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.PaymentStatus = order.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.ShippingStatus = order.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.OrderTotal = _priceFormatter.FormatPrice(order.OrderTotal, true, false); orderModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(order.CreatedOnUtc, DateTimeKind.Utc); return(orderModel); }), Total = orders.TotalCount }; return(Json(gridModel)); }
/// <summary> /// Prepare paged affiliated order list model /// </summary> /// <param name="searchModel">Affiliated order search model</param> /// <param name="affiliate">Affiliate</param> /// <returns>Affiliated order list model</returns> public virtual AffiliatedOrderListModel PrepareAffiliatedOrderListModel(AffiliatedOrderSearchModel searchModel, Affiliate affiliate) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } if (affiliate == null) { throw new ArgumentNullException(nameof(affiliate)); } //get parameters to filter orders var startDateValue = !searchModel.StartDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.StartDate.Value, _dateTimeHelper.CurrentTimeZone); var endDateValue = !searchModel.EndDate.HasValue ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(searchModel.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); var orderStatusIds = searchModel.OrderStatusId > 0 ? new List <int> { searchModel.OrderStatusId } : null; var paymentStatusIds = searchModel.PaymentStatusId > 0 ? new List <int> { searchModel.PaymentStatusId } : null; var shippingStatusIds = searchModel.ShippingStatusId > 0 ? new List <int> { searchModel.ShippingStatusId } : null; //get orders var orders = _orderService.SearchOrders(createdFromUtc: startDateValue, createdToUtc: endDateValue, osIds: orderStatusIds, psIds: paymentStatusIds, ssIds: shippingStatusIds, affiliateId: affiliate.Id, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize); //prepare list model var model = new AffiliatedOrderListModel { //fill in model values from the entity Data = orders.Select(order => { var affiliatedOrderModel = order.ToModel <AffiliatedOrderModel>(); //fill in additional values (not existing in the entity) affiliatedOrderModel.OrderStatus = _localizationService.GetLocalizedEnum(order.OrderStatus); affiliatedOrderModel.PaymentStatus = _localizationService.GetLocalizedEnum(order.PaymentStatus); affiliatedOrderModel.ShippingStatus = _localizationService.GetLocalizedEnum(order.ShippingStatus); affiliatedOrderModel.OrderTotal = _priceFormatter.FormatPrice(order.OrderTotal, true, false); affiliatedOrderModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(order.CreatedOnUtc, DateTimeKind.Utc); return(affiliatedOrderModel); }), Total = orders.TotalCount }; return(model); }
public IActionResult AffiliatedOrderList(DataSourceRequest command, AffiliatedOrderListModel model) { var affiliate = _affiliateService.GetAffiliateById(model.AffliateId); if (affiliate == null) { throw new ArgumentException("No affiliate found with the specified id"); } var affiliateOrders = _affiliateViewModelService.PrepareAffiliatedOrderList(affiliate, model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = affiliateOrders.affiliateOrderModels, Total = affiliateOrders.totalCount }; return(Json(gridModel)); }
public async Task <IViewComponentResult> InvokeAsync(string affiliateId) { if (!await _permissionService.Authorize(StandardPermission.ManageAffiliates)) { return(Content("")); } if (String.IsNullOrEmpty(affiliateId)) { throw new Exception("Affliate ID cannot be empty"); } var model = new AffiliatedOrderListModel(); model.AffliateId = affiliateId; var status = await _orderStatusService.GetAll(); //order statuses model.AvailableOrderStatuses = status.Select(x => new SelectListItem() { Value = x.StatusId.ToString(), Text = x.Name }).ToList(); model.AvailableOrderStatuses.Insert(0, new SelectListItem { Text = _translationService.GetResource("Admin.Common.All"), Value = "" }); //payment statuses model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(HttpContext, false).ToList(); model.AvailablePaymentStatuses.Insert(0, new SelectListItem { Text = _translationService.GetResource("Admin.Common.All"), Value = "" }); //shipping statuses model.AvailableShippingStatuses = ShippingStatus.Pending.ToSelectList(HttpContext, false).ToList(); model.AvailableShippingStatuses.Insert(0, new SelectListItem { Text = _translationService.GetResource("Admin.Common.All"), Value = "" }); return(View(model)); }
public virtual ActionResult AffiliatedOrderList(int affiliateId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAffiliates)) { return(Content("")); } if (affiliateId == 0) { throw new Exception("Affliate ID cannot be 0"); } var model = new AffiliatedOrderListModel(); model.AffliateId = affiliateId; //order statuses model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList(); model.AvailableOrderStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); //payment statuses model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList(); model.AvailablePaymentStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); //shipping statuses model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList(); model.AvailableShippingStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); return(PartialView(model)); }
public async Task <IViewComponentResult> InvokeAsync(string affiliateId)//original Action name: AffiliatedOrderList { if (!await _permissionService.Authorize(StandardPermissionProvider.ManageAffiliates)) { return(Content("")); } if (String.IsNullOrEmpty(affiliateId)) { throw new Exception("Affliate ID cannot be empty"); } var model = new AffiliatedOrderListModel(); model.AffliateId = affiliateId; //order statuses model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList(); model.AvailableOrderStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "" }); //payment statuses model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList(); model.AvailablePaymentStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "" }); //shipping statuses model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList(); model.AvailableShippingStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "" }); return(View(model)); }
public virtual (IEnumerable <AffiliateModel.AffiliatedOrderModel> affiliateOrderModels, int totalCount) PrepareAffiliatedOrderList(Affiliate affiliate, AffiliatedOrderListModel model, int pageIndex, int pageSize) { DateTime?startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); OrderStatus? orderStatus = model.OrderStatusId > 0 ? (OrderStatus?)(model.OrderStatusId) : null; PaymentStatus? paymentStatus = model.PaymentStatusId > 0 ? (PaymentStatus?)(model.PaymentStatusId) : null; ShippingStatus?shippingStatus = model.ShippingStatusId > 0 ? (ShippingStatus?)(model.ShippingStatusId) : null; var orders = _orderService.SearchOrders( createdFromUtc: startDateValue, createdToUtc: endDateValue, os: orderStatus, ps: paymentStatus, ss: shippingStatus, affiliateId: affiliate.Id, pageIndex: pageIndex - 1, pageSize: pageSize); return(orders.Select(order => { var orderModel = new AffiliateModel.AffiliatedOrderModel(); orderModel.Id = order.Id; orderModel.OrderNumber = order.OrderNumber; orderModel.OrderStatus = order.OrderStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.PaymentStatus = order.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.ShippingStatus = order.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext); orderModel.OrderTotal = _priceFormatter.FormatPrice(order.OrderTotal, true, false); orderModel.CreatedOn = _dateTimeHelper.ConvertToUserTime(order.CreatedOnUtc, DateTimeKind.Utc); return orderModel; }), orders.TotalCount); }
public async Task <IActionResult> AffiliatedOrderList(DataSourceRequest command, AffiliatedOrderListModel model) { if (!await _permissionService.Authorize(StandardPermissionProvider.ManageOrders)) { return(Json(new DataSourceResult { Data = null, Total = 0 })); } var affiliate = await _affiliateService.GetAffiliateById(model.AffliateId); if (affiliate == null) { throw new ArgumentException("No affiliate found with the specified id"); } var affiliateOrders = await _affiliateViewModelService.PrepareAffiliatedOrderList(affiliate, model, command.Page, command.PageSize); var gridModel = new DataSourceResult { Data = affiliateOrders.affiliateOrderModels, Total = affiliateOrders.totalCount }; return(Json(gridModel)); }
public virtual async Task <(IEnumerable <AffiliateModel.AffiliatedOrderModel> affiliateOrderModels, int totalCount)> PrepareAffiliatedOrderList(Affiliate affiliate, AffiliatedOrderListModel model, int pageIndex, int pageSize) { DateTime?startDateValue = (model.StartDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); DateTime?endDateValue = (model.EndDate == null) ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); OrderStatus? orderStatus = model.OrderStatusId > 0 ? (OrderStatus?)(model.OrderStatusId) : null; PaymentStatus? paymentStatus = model.PaymentStatusId > 0 ? (PaymentStatus?)(model.PaymentStatusId) : null; ShippingStatus?shippingStatus = model.ShippingStatusId > 0 ? (ShippingStatus?)(model.ShippingStatusId) : null; var orders = await _orderService.SearchOrders( createdFromUtc : startDateValue, createdToUtc : endDateValue, os : orderStatus, ps : paymentStatus, ss : shippingStatus, affiliateId : affiliate.Id, pageIndex : pageIndex - 1, pageSize : pageSize); var affiliateorders = new List <AffiliateModel.AffiliatedOrderModel>(); foreach (var order in orders) { var orderModel = new AffiliateModel.AffiliatedOrderModel { Id = order.Id, OrderNumber = order.OrderNumber, OrderCode = order.Code, OrderStatus = order.OrderStatus.GetLocalizedEnum(_localizationService, _workContext), PaymentStatus = order.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext), ShippingStatus = order.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext), OrderTotal = await _priceFormatter.FormatPrice(order.OrderTotal, true, order.CustomerCurrencyCode, false, _workContext.WorkingLanguage), CreatedOn = _dateTimeHelper.ConvertToUserTime(order.CreatedOnUtc, DateTimeKind.Utc) }; affiliateorders.Add(orderModel); } return(affiliateorders, orders.TotalCount); }
public AffiliateModel() { Address = new AddressModel(); AffiliatedOrderList = new AffiliatedOrderListModel(); }
public ActionResult AffiliatedCustomerAndOrderList(int affiliateId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageAffiliates)) { return(Content("")); } if (affiliateId == 0) { throw new Exception("Affliate ID cannot be 0"); } var model = new AffiliatedOrderListModel(); model.AffliateId = affiliateId; //order statuses model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList(); model.AvailableOrderStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); //payment statuses model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList(); model.AvailablePaymentStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); //shipping statuses model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList(); model.AvailableShippingStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); model.AvailableSubAffiliates.Add(new SelectListItem { Text = "无", Value = "0" }); var a = _affiliateService.GetAffiliateById(affiliateId); if (a != null && a.Level < 3) { var alla = _affiliateService.GetAllAffiliates(); var subids = new List <int?>(); foreach (var asub in alla.Where(af => af.ParentAffiliateId == affiliateId)) { subids.Add(asub.Id); model.AvailableSubAffiliates.Add(new SelectListItem { Text = asub.GetFullName(), Value = asub.Id.ToString() }); } if (a.Level == 1 && subids.Count > 0) { foreach (var asub in alla.Where(af => subids.Contains(af.ParentAffiliateId))) { model.AvailableSubAffiliates.Add(new SelectListItem { Text = asub.GetFullName(), Value = asub.Id.ToString() }); } } } return(PartialView(model)); }