本文整理汇总了C#中Nop.Admin.Models.Orders.OrderListModel类的典型用法代码示例。如果您正苦于以下问题:C# OrderListModel类的具体用法?C# OrderListModel怎么用?C# OrderListModel使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OrderListModel类属于Nop.Admin.Models.Orders命名空间,在下文中一共展示了OrderListModel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OrderList
public ActionResult OrderList(GridCommand command, OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
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;
//load orders
var orders = _orderService.SearchOrders(startDateValue, endDateValue, orderStatus,
paymentStatus, shippingStatus, model.CustomerEmail, model.OrderGuid, command.Page - 1, command.PageSize);
var gridModel = new GridModel<OrderModel>
{
Data = orders.Select(x =>
{
return new OrderModel()
{
Id = x.Id,
OrderTotal = _priceFormatter.FormatPrice(x.OrderTotal, true, false),
OrderStatus = x.OrderStatus.GetLocalizedEnum(_localizationService, _workContext),
PaymentStatus = x.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext),
ShippingStatus = x.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext),
CustomerEmail = x.BillingAddress.Email,
CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc)
};
}),
Total = orders.TotalCount
};
//summary report
//implemented as a workaround described here: http://www.telerik.com/community/forums/aspnet-mvc/grid/gridmodel-aggregates-how-to-use.aspx
var reportSummary = _orderReportService.GetOrderAverageReportLine
(orderStatus, paymentStatus, shippingStatus, startDateValue, endDateValue, model.CustomerEmail);
var profit = _orderReportService.ProfitReport
(orderStatus, paymentStatus, shippingStatus, startDateValue, endDateValue, model.CustomerEmail);
var aggregator = new OrderModel()
{
aggregatorprofit = _priceFormatter.FormatPrice(profit, true, false),
aggregatortax = _priceFormatter.FormatPrice(reportSummary.SumTax, true, false),
aggregatortotal = _priceFormatter.FormatPrice(reportSummary.SumOrders, true, false)
};
gridModel.Aggregates = aggregator;
return new JsonResult
{
Data = gridModel
};
}
示例2: GoToOrderId
public ActionResult GoToOrderId(OrderListModel model)
{
var order = _orderService.GetOrderById(model.GoDirectlyToNumber);
if (order != null)
return RedirectToAction("Edit", "Order", new { id = order.Id });
else
return List();
}
示例3: List
public ActionResult List()
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
var model = new OrderListModel();
model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList();
model.AvailableOrderStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList();
model.AvailablePaymentStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList();
model.AvailableShippingStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
return View(model);
}
示例4: List
public ActionResult List()
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//order statuses
var model = new OrderListModel();
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" });
//stores
model.AvailableStores.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var s in _storeService.GetAllStores())
model.AvailableStores.Add(new SelectListItem() { Text = s.Name, Value = s.Id.ToString() });
//vendors
model.AvailableVendors.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var v in _vendorService.GetAllVendors(0, int.MaxValue, true))
model.AvailableVendors.Add(new SelectListItem() { Text = v.Name, Value = v.Id.ToString() });
//a vendor should have access only to orders with his products
model.IsLoggedInAsVendor = _workContext.CurrentVendor != null;
return View(model);
}
示例5: List
public ActionResult List()
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//order statuses
var model = new OrderListModel();
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" });
//stores
foreach (var store in _storeService.GetAllStores())
{
model.AvailableStores.Add(new SelectListItem()
{
Text = store.Name,
Value = store.Id.ToString()
});
}
model.AvailableStores.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
return View(model);
}
示例6: List
public ActionResult List(int? orderStatusId = null,
int? paymentStatusId = null, int? shippingStatusId = null)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//order statuses
var model = new OrderListModel();
model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList();
model.AvailableOrderStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
if (orderStatusId.HasValue)
{
//pre-select value?
var item = model.AvailableOrderStatuses.FirstOrDefault(x => x.Value == orderStatusId.Value.ToString());
if (item != null)
item.Selected = true;
}
//payment statuses
model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList();
model.AvailablePaymentStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
if (paymentStatusId.HasValue)
{
//pre-select value?
var item = model.AvailablePaymentStatuses.FirstOrDefault(x => x.Value == paymentStatusId.Value.ToString());
if (item != null)
item.Selected = true;
}
//shipping statuses
model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList();
model.AvailableShippingStatuses.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
if (shippingStatusId.HasValue)
{
//pre-select value?
var item = model.AvailableShippingStatuses.FirstOrDefault(x => x.Value == shippingStatusId.Value.ToString());
if (item != null)
item.Selected = true;
}
//stores
model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var s in _storeService.GetAllStores())
model.AvailableStores.Add(new SelectListItem { Text = s.Name, Value = s.ID.ToString() });
//vendors
model.AvailableVendors.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var v in _vendorService.GetAllVendors(showHidden: true))
model.AvailableVendors.Add(new SelectListItem { Text = v.Name, Value = v.ID.ToString() });
//warehouses
model.AvailableWarehouses.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var w in _shippingService.GetAllWarehouses())
model.AvailableWarehouses.Add(new SelectListItem { Text = w.Name, Value = w.ID.ToString() });
//a vendor should have access only to orders with his products
model.IsLoggedInAsVendor = _workContext.CurrentVendor != null;
return View(model);
}
示例7: OrderList
public ActionResult OrderList(DataSourceRequest command, OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//a vendor should have access only to his products
if (_workContext.CurrentVendor != null)
{
model.VendorId = _workContext.CurrentVendor.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);
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 filterByProductId = 0;
var product = _productService.GetProductById(model.ProductId);
if (product != null && HasAccessToProduct(product))
filterByProductId = model.ProductId;
//load orders
var orders = _orderService.SearchOrders(storeId: model.StoreId,
vendorId: model.VendorId,
productId: filterByProductId,
warehouseId: model.WarehouseId,
createdFromUtc: startDateValue,
createdToUtc: endDateValue,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes,
orderGuid: model.OrderGuid,
pageIndex: command.Page - 1,
pageSize: command.PageSize);
var gridModel = new DataSourceResult
{
Data = orders.Select(x =>
{
var store = _storeService.GetStoreById(x.StoreId);
return new OrderModel
{
Id = x.ID,
StoreName = store != null ? store.Name : "Unknown",
OrderTotal = _priceFormatter.FormatPrice(x.OrderTotal, true, false),
OrderStatus = x.OrderStatus.GetLocalizedEnum(_localizationService, _workContext),
PaymentStatus = x.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext),
ShippingStatus = x.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext),
CustomerEmail = x.BillingAddress.Email,
CustomerFullName = string.Format("{0} {1}", x.BillingAddress.FirstName, x.BillingAddress.LastName),
CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc)
};
}),
Total = orders.TotalCount
};
//summary report
var reportSummary = _orderReportService.GetOrderAverageReportLine(
storeId: model.StoreId,
vendorId: model.VendorId,
orderId: 0,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
startTimeUtc: startDateValue,
endTimeUtc: endDateValue,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes);
var profit = _orderReportService.ProfitReport(
storeId: model.StoreId,
vendorId: model.VendorId,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
startTimeUtc: startDateValue,
endTimeUtc: endDateValue,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes);
var primaryStoreCurrency = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId);
if (primaryStoreCurrency == null)
throw new Exception("Cannot load primary store currency");
gridModel.ExtraData = new OrderAggreratorModel
{
aggregatorprofit = _priceFormatter.FormatPrice(profit, true, false),
aggregatorshipping = _priceFormatter.FormatShippingPrice(reportSummary.SumShippingExclTax, true, primaryStoreCurrency, _workContext.WorkingLanguage, false),
aggregatortax = _priceFormatter.FormatPrice(reportSummary.SumTax, true, false),
aggregatortotal = _priceFormatter.FormatPrice(reportSummary.SumOrders, true, false)
};
return new JsonResult
{
Data = gridModel
};
}
示例8: PdfInvoiceAll
public ActionResult PdfInvoiceAll(OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageActualSales))
return AccessDeniedView();
//a vendor should have access only to his products
if (_workContext.CurrentVendor != null)
{
model.VendorId = _workContext.CurrentVendor.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);
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 filterByProductId = 0;
var product = _productService.GetProductById(model.ProductId);
if (product != null && HasAccessToProduct(product))
filterByProductId = model.ProductId;
//load orders
var orders = _orderService.SearchOrders(storeId: model.StoreId,
vendorId: model.VendorId,
productId: filterByProductId,
warehouseId: model.WarehouseId,
billingCountryId: model.BillingCountryId,
paymentMethodSystemName: model.PaymentMethodSystemName,
createdFromUtc: startDateValue,
createdToUtc: endDateValue,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes,
orderGuid: model.OrderGuid);
byte[] bytes;
using (var stream = new MemoryStream())
{
_pdfService.PrintOrdersToPdf(stream, orders, _workContext.WorkingLanguage.Id);
bytes = stream.ToArray();
}
return File(bytes, "application/pdf", "orders.pdf");
}
示例9: ExportExcelAll
public ActionResult ExportExcelAll(OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//a vendor cannot export orders
if (_workContext.CurrentVendor != null)
return AccessDeniedView();
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 filterByProductId = 0;
var product = _productService.GetProductById(model.ProductId);
if (product != null && HasAccessToProduct(product))
filterByProductId = model.ProductId;
//load orders
var orders = _orderService.SearchOrders(storeId: model.StoreId,
vendorId: model.VendorId,
productId: filterByProductId,
warehouseId: model.WarehouseId,
createdFromUtc: startDateValue,
createdToUtc: endDateValue,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes,
orderGuid: model.OrderGuid);
try
{
byte[] bytes;
using (var stream = new MemoryStream())
{
_exportManager.ExportOrdersToXlsx(stream, orders);
bytes = stream.ToArray();
}
return File(bytes, "text/xls", "orders.xlsx");
}
catch (Exception exc)
{
ErrorNotification(exc);
return RedirectToAction("List");
}
}
示例10: List
public ActionResult List(
[ModelBinder(typeof(CommaSeparatedModelBinder))] List<string> orderStatusIds = null,
[ModelBinder(typeof(CommaSeparatedModelBinder))] List<string> paymentStatusIds = null,
[ModelBinder(typeof(CommaSeparatedModelBinder))] List<string> shippingStatusIds = null)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//order statuses
var model = new OrderListModel();
model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList();
model.AvailableOrderStatuses.Insert(0, new SelectListItem
{ Text = _localizationService.GetResource("Admin.Common.All"), Value = "0", Selected = true });
if (orderStatusIds != null && orderStatusIds.Any())
{
foreach (var item in model.AvailableOrderStatuses.Where(os => orderStatusIds.Contains(os.Value)))
item.Selected = true;
model.AvailableOrderStatuses.First().Selected = false;
}
//payment statuses
model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList();
model.AvailablePaymentStatuses.Insert(0, new SelectListItem
{ Text = _localizationService.GetResource("Admin.Common.All"), Value = "0", Selected = true });
if (paymentStatusIds != null && paymentStatusIds.Any())
{
foreach (var item in model.AvailablePaymentStatuses.Where(ps => paymentStatusIds.Contains(ps.Value)))
item.Selected = true;
model.AvailablePaymentStatuses.First().Selected = false;
}
//shipping statuses
model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList();
model.AvailableShippingStatuses.Insert(0, new SelectListItem
{ Text = _localizationService.GetResource("Admin.Common.All"), Value = "0", Selected = true });
if (shippingStatusIds != null && shippingStatusIds.Any())
{
foreach (var item in model.AvailableShippingStatuses.Where(ss => shippingStatusIds.Contains(ss.Value)))
item.Selected = true;
model.AvailableShippingStatuses.First().Selected = false;
}
//stores
model.AvailableStores.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var s in _storeService.GetAllStores())
model.AvailableStores.Add(new SelectListItem { Text = s.Name, Value = s.Id.ToString() });
//vendors
model.AvailableVendors.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var v in _vendorService.GetAllVendors(showHidden: true))
model.AvailableVendors.Add(new SelectListItem { Text = v.Name, Value = v.Id.ToString() });
//warehouses
model.AvailableWarehouses.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var w in _shippingService.GetAllWarehouses())
model.AvailableWarehouses.Add(new SelectListItem { Text = w.Name, Value = w.Id.ToString() });
//payment methods
model.AvailablePaymentMethods.Add(new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "" });
foreach (var pm in _paymentService.LoadAllPaymentMethods())
model.AvailablePaymentMethods.Add(new SelectListItem { Text = pm.PluginDescriptor.FriendlyName, Value = pm.PluginDescriptor.SystemName });
//billing countries
foreach (var c in _countryService.GetAllCountriesForBilling(showHidden: true))
{
model.AvailableCountries.Add(new SelectListItem { Text = c.Name, Value = c.Id.ToString() });
}
model.AvailableCountries.Insert(0, new SelectListItem { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
//a vendor should have access only to orders with his products
model.IsLoggedInAsVendor = _workContext.CurrentVendor != null;
return View(model);
}
示例11: ExportXmlAll
public ActionResult ExportXmlAll(OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageActualSales))
return AccessDeniedView();
//a vendor cannot export orders
if (_workContext.CurrentVendor != null)
return AccessDeniedView();
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 filterByProductId = 0;
var product = _productService.GetProductById(model.ProductId);
if (product != null && HasAccessToProduct(product))
filterByProductId = model.ProductId;
//load orders
var orders = _orderService.SearchOrders(storeId: model.StoreId,
vendorId: model.VendorId,
productId: filterByProductId,
warehouseId: model.WarehouseId,
billingCountryId: model.BillingCountryId,
paymentMethodSystemName: model.PaymentMethodSystemName,
createdFromUtc: startDateValue,
createdToUtc: endDateValue,
os: orderStatus,
ps: paymentStatus,
ss: shippingStatus,
billingEmail: model.CustomerEmail,
orderNotes: model.OrderNotes,
orderGuid: model.OrderGuid);
try
{
var xml = _exportManager.ExportOrdersToXml(orders);
return new XmlDownloadResult(xml, "orders.xml");
}
catch (Exception exc)
{
ErrorNotification(exc);
return RedirectToAction("List");
}
}
示例12: ExportExcelAll
public ActionResult ExportExcelAll(OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//a vendor cannot export orders
if (_workContext.CurrentVendor != null)
return AccessDeniedView();
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.OrderStatusIds.Contains(0) ? model.OrderStatusIds : null;
var paymentStatusIds = !model.PaymentStatusIds.Contains(0) ? model.PaymentStatusIds : null;
var shippingStatusIds = !model.ShippingStatusIds.Contains(0) ? model.ShippingStatusIds : null;
var filterByProductId = 0;
var product = _productService.GetProductById(model.ProductId);
if (product != null && HasAccessToProduct(product))
filterByProductId = model.ProductId;
//load orders
var orders = _orderService.SearchOrders(storeId: model.StoreId,
vendorId: model.VendorId,
productId: filterByProductId,
warehouseId: model.WarehouseId,
paymentMethodSystemName: model.PaymentMethodSystemName,
createdFromUtc: startDateValue,
createdToUtc: endDateValue,
osIds: orderStatusIds,
psIds: paymentStatusIds,
ssIds: shippingStatusIds,
billingEmail: model.BillingEmail,
billingLastName: model.BillingLastName,
billingCountryId: model.BillingCountryId,
orderNotes: model.OrderNotes);
try
{
byte[] bytes = _exportManager.ExportOrdersToXlsx(orders);
return File(bytes, MimeTypes.TextXlsx, "orders.xlsx");
}
catch (Exception exc)
{
ErrorNotification(exc);
return RedirectToAction("List");
}
}
示例13: OrderList
public ActionResult OrderList(GridCommand command, OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
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(startDateValue, endDateValue, orderStatus,
paymentStatus, shippingStatus, model.CustomerEmail, model.OrderGuid, command.Page - 1, command.PageSize);
var gridModel = new GridModel<OrderModel>
{
Data = orders.Select(x =>
{
return new OrderModel()
{
Id = x.Id,
OrderTotal = _priceFormatter.FormatPrice(x.OrderTotal, true, false),
OrderStatus = x.OrderStatus.GetLocalizedEnum(_localizationService, _workContext),
PaymentStatus = x.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext),
ShippingStatus = x.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext),
CustomerEmail = x.BillingAddress.Email,
CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc)
};
}),
Total = orders.TotalCount
};
return new JsonResult
{
Data = gridModel
};
}
示例14: List
public ActionResult List()
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders)
&& !_permissionService.Authorize(StandardPermissionProvider.ManageVendor) //add by hz
)
return AccessDeniedView();
var model = new OrderListModel();
model.AvailableOrderStatuses = OrderStatus.Pending.ToSelectList(false).ToList();
model.AvailableOrderStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
model.AvailablePaymentStatuses = PaymentStatus.Pending.ToSelectList(false).ToList();
model.AvailablePaymentStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
model.AvailableShippingStatuses = ShippingStatus.NotYetShipped.ToSelectList(false).ToList();
model.AvailableShippingStatuses.Insert(0, new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
//add by hz
//vendors
model.IsVendorManager = (customerVendorId > 0) ? true : false;
model.AvailableVendors.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" });
foreach (var s in _vendorService.GetAllVendors(0, true))
model.AvailableVendors.Add(new SelectListItem() { Text = s.Name, Value = s.Id.ToString() });
//end by hz
return View(model);
}
示例15: OrderList
public ActionResult OrderList(GridCommand command, OrderListModel model)
{
if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders))
return AccessDeniedView();
//a vendor should have access only to his products
if (_workContext.CurrentVendor != null)
{
model.VendorId = _workContext.CurrentVendor.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);
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;
//load orders
var orders = _orderService.SearchOrders(model.StoreId, model.VendorId, 0, 0, 0,
startDateValue, endDateValue, orderStatus,
paymentStatus, shippingStatus, model.CustomerEmail, model.OrderGuid,
command.Page - 1, command.PageSize);
var gridModel = new GridModel<OrderModel>
{
Data = orders.Select(x =>
{
var store = _storeService.GetStoreById(x.StoreId);
return new OrderModel()
{
Id = x.Id,
StoreName = store != null ? store.Name : "Unknown",
OrderTotal = _priceFormatter.FormatPrice(x.OrderTotal, true, false),
OrderStatus = x.OrderStatus.GetLocalizedEnum(_localizationService, _workContext),
PaymentStatus = x.PaymentStatus.GetLocalizedEnum(_localizationService, _workContext),
ShippingStatus = x.ShippingStatus.GetLocalizedEnum(_localizationService, _workContext),
CustomerEmail = x.BillingAddress.Email,
CreatedOn = _dateTimeHelper.ConvertToUserTime(x.CreatedOnUtc, DateTimeKind.Utc)
};
}),
Total = orders.TotalCount
};
//summary report
//implemented as a workaround described here: http://www.telerik.com/community/forums/aspnet-mvc/grid/gridmodel-aggregates-how-to-use.aspx
var reportSummary = _orderReportService.GetOrderAverageReportLine(model.StoreId,
model.VendorId, orderStatus, paymentStatus, shippingStatus,
startDateValue, endDateValue, model.CustomerEmail);
var profit = _orderReportService.ProfitReport(model.StoreId,
model.VendorId, orderStatus, paymentStatus, shippingStatus,
startDateValue, endDateValue, model.CustomerEmail);
var primaryStoreCurrency = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId);
if (primaryStoreCurrency == null)
throw new Exception("Cannot load primary store currency");
var aggregator = new OrderModel()
{
aggregatorprofit = _priceFormatter.FormatPrice(profit, true, false),
aggregatorshipping = _priceFormatter.FormatShippingPrice(reportSummary.SumShippingExclTax, true, primaryStoreCurrency, _workContext.WorkingLanguage, false),
aggregatortax = _priceFormatter.FormatPrice(reportSummary.SumTax, true, false),
aggregatortotal = _priceFormatter.FormatPrice(reportSummary.SumOrders, true, false)
};
gridModel.Aggregates = aggregator;
return new JsonResult
{
Data = gridModel
};
}