Example #1
0
        public IActionResult Unpaid()
        {
            var model = new ListOrdersViewModel()
            {
                StatusOfListedOrders = OrderStatus.Unpaid
            };

            return(View("Index", model));
        }
Example #2
0
        public IActionResult Processing()
        {
            var model = new ListOrdersViewModel()
            {
                StatusOfListedOrders = OrderStatus.Processing
            };

            return(View("Index", model));
        }
Example #3
0
        public IActionResult ReadyForShipment()
        {
            var model = new ListOrdersViewModel()
            {
                StatusOfListedOrders = OrderStatus.ReadyForShipment
            };

            return(View("Index", model));
        }
        public async Task <IActionResult> ListOrders()
        {
            List <Order> orders = await Context.Orders
                                  .Include(order => order.Customer)
                                  .Include(order => order.Payment)
                                  .Include(order => order.Store)
                                  .OrderByDescending(order => order.OrderDate)
                                  .ToListAsync();

            var viewModel = new ListOrdersViewModel()
            {
                Orders      = orders,
                ItemsInCart = await CountItemsInCart()
            };

            return(View(viewModel));
        }
        public ActionResult Pending(int? page)
        {
            int currentPage = page ?? 1;

            var orders = this.orderService
                .ListPaged(currentPage)
                .To<ListedOrderViewModel>()
                .ToList();

            var allItemsCount = this.orderService.CountPending();
            var totalPages = (int)Math.Ceiling(allItemsCount / (decimal)GlobalConstants.PageSize);

            var model = new ListOrdersViewModel
            {
                CurrentPage = currentPage,
                PagesNumber = totalPages,
                Orders = orders
            };

            return this.View(model);
        }
        public ActionResult List(ListOrdersViewModel model, PagerParameters pagerParameters)
        {
            if (!_orchardServices.Authorizer.Authorize(OrderPermissions.ViewOwnOrders, null, T("Cannot view own orders")))
            {
                return(new HttpUnauthorizedResult());
            }

            var pager  = new Pager(_siteService.GetSiteSettings(), pagerParameters);
            var query  = _contentManager.Query <OrderPart, OrderPartRecord>(VersionOptions.Latest);
            var states = OrderPart.States.ToList();

            if (model.Options == null)
            {
                model.Options = new ContentOptions();
            }
            if (!string.IsNullOrWhiteSpace(model.Options.Search))
            {
                int id;
                query = int.TryParse(model.Options.Search, out id) ?
                        query.Where(o => o.Id == id) :
                        query.Where(o => o.Customer.Contains(model.Options.Search));
            }
            var filterOption = model.Options.SelectedFilter;

            if (string.IsNullOrWhiteSpace(filterOption) ||
                filterOption.Equals("active", StringComparison.OrdinalIgnoreCase))
            {
                query = query.Where(
                    o => o.Status != OrderPart.Archived &&
                    o.Status != OrderPart.Cancelled);
            }
            else if (!filterOption.Equals("any", StringComparison.OrdinalIgnoreCase))
            {
                if (!states.Contains(filterOption))
                {
                    return(HttpNotFound());
                }
                query = query.Where(o => o.Status == filterOption);
            }

            switch (model.Options.OrderBy)
            {
            case ContentsOrder.Modified:
                query.OrderByDescending <CommonPartRecord>(cr => cr.ModifiedUtc);
                break;

            case ContentsOrder.Created:
                query.OrderByDescending <CommonPartRecord>(cr => cr.CreatedUtc);
                break;
            }
            model.Options.FilterOptions =
                _orderService.StatusLabels.Select(kvp => new KeyValuePair <string, string>(kvp.Key, kvp.Value.Text));



            if (!_orchardServices.Authorizer.Authorize(OrderPermissions.ManageOrders))
            {
                Orchard.Security.IUser currentUser = _orchardServices.WorkContext.CurrentUser;
                query = query.Join <CommonPartRecord>().Where(c => c.OwnerId == currentUser.Id).Join <OrderPartRecord>();
            }



            var pagerShape         = Shape.Pager(pager).TotalItemCount(query.Count());
            var pageOfContentItems = query.Slice(pager.GetStartIndex(), pager.PageSize).ToList();

            var list = Shape.List();

            list.AddRange(pageOfContentItems.Select(ci => _contentManager.BuildDisplay(ci, "SummaryAdmin")));

            dynamic viewModel = Shape.ViewModel()
                                .ContentItems(list)
                                .Pager(pagerShape)
                                .Options(model.Options);

            return(View((object)viewModel));
        }