public override ActionResult Index(OrderSearchBlock currentBlock) { var filter = CreateFilter(); OrderFilter.LoadDefault(filter, _paymentMethodViewModelFactory); var viewModel = CreateViewModel(currentBlock, filter); viewModel.OrderDetailUrl = UrlResolver.Current.GetUrl(_contentLoader.Get <CommerceHomePage>(ContentReference.StartPage).OrderDetailsPage); return(PartialView("~/Features/Blocks/Views/OrderSearchBlock.cshtml", viewModel)); }
public override ActionResult Index(OrderSearchBlock currentBlock) { var referencePages = _settingsService.GetSiteSettings <ReferencePageSettings>(); var filter = CreateFilter(); OrderFilter.LoadDefault(filter, _paymentMethodViewModelFactory); var viewModel = CreateViewModel(currentBlock, filter); if (!referencePages?.OrderDetailsPage.IsNullOrEmpty() ?? false) { viewModel.OrderDetailUrl = UrlResolver.Current.GetUrl(referencePages.OrderDetailsPage); } return(PartialView("~/Features/Blocks/Views/OrderSearchBlock.cshtml", viewModel)); }
public ActionResult Index(OrderHistoryPage currentPage, OrderFilter filter, int?page, int?size, int?isPaging) { if (isPaging.HasValue) { filter = GetFilter(); } else { SetCookieFilter(filter); } var pageNum = page ?? 1; var pageSize = size ?? 10; var orders = _orderRepository.Load <IPurchaseOrder>(PrincipalInfo.CurrentPrincipal.GetContactId(), _cartService.DefaultCartName); var purchaseOrders = FilterOrders(orders, filter) .OrderByDescending(x => x.Created) .Skip((pageNum - 1) * pageSize) .Take(pageSize) .ToList(); var viewModel = new OrderHistoryViewModel(currentPage) { CurrentContent = currentPage, Orders = new List <OrderViewModel>(), }; OrderFilter.LoadDefault(filter, _paymentMethodViewModelFactory); LoadAvailableAddresses(filter); foreach (var purchaseOrder in purchaseOrders) { // Assume there is only one form per purchase. var form = purchaseOrder.GetFirstForm(); var billingAddress = new AddressModel(); var payment = form.Payments.FirstOrDefault(); if (payment != null) { billingAddress = _addressBookService.ConvertToModel(payment.BillingAddress); } var orderViewModel = new OrderViewModel { PurchaseOrder = purchaseOrder, Items = form.GetAllLineItems().Select(lineItem => new OrderHistoryItemViewModel { LineItem = lineItem, }).GroupBy(x => x.LineItem.Code).Select(group => group.First()), BillingAddress = billingAddress, ShippingAddresses = new List <AddressModel>() }; foreach (var orderAddress in purchaseOrder.Forms.SelectMany(x => x.Shipments).Select(s => s.ShippingAddress)) { var shippingAddress = _addressBookService.ConvertToModel(orderAddress); orderViewModel.ShippingAddresses.Add(shippingAddress); } viewModel.Orders.Add(orderViewModel); } viewModel.OrderDetailsPageUrl = UrlResolver.Current.GetUrl(_settingsService.GetSiteSettings <ReferencePageSettings>()?.OrderDetailsPage ?? ContentReference.StartPage); viewModel.PagingInfo.PageNumber = pageNum; viewModel.PagingInfo.TotalRecord = purchaseOrders.Count(); viewModel.PagingInfo.PageSize = pageSize; viewModel.OrderHistoryUrl = Request.Url.PathAndQuery; viewModel.Filter = filter; return(View(viewModel)); }