Esempio n. 1
0
        public IActionResult ManageOrders(OrdersFilterInputModel input)
        {
            var model = new ManageOrdersViewModel()
            {
                Page       = input.Page,
                Filters    = input,
                Orders     = this.ordersService.GetAllOrders <OrdersViewModel>(input),
                PagesCount = (int)Math.Ceiling((double)this.ordersService.GetAllOrdersCount() / GlobalConstants.PageSize),
            };

            return(this.View(model));
        }
Esempio n. 2
0
        public ActionResult ManageOrders()
        {
            List <GetOrders_Result> ResOrders;
            List <OrderToDisplay>   Orders          = new List <OrderToDisplay>();
            List <OrderToDisplay>   CancelledOrders = new List <OrderToDisplay>();

            ResOrders = _context.GetOrders().ToList();
            foreach (GetOrders_Result r in ResOrders)
            {
                var CurRoom = _context.GetRoomById(r.RoomId).FirstOrDefault();

                OrderToDisplay OrderVM = new OrderToDisplay
                {
                    ID          = r.ID,
                    Username    = UserMgr.FindById(r.UserId).UserName,
                    RoomNo      = CurRoom.RoomNo,
                    FromDate    = r.FromDate,
                    ToDate      = r.ToDate,
                    IsCancelled = r.IsCancelled ? "Cancelled" : "Normal",
                    UnitPrice   = CurRoom.Price,
                    TotalCost   = r.TotalCost
                };
                if (!r.IsCancelled)
                {
                    Orders.Add(OrderVM);
                }
                else
                {
                    CancelledOrders.Add(OrderVM);
                }
            }

            var tables = new ManageOrdersViewModel
            {
                Orders          = Orders,
                CancelledOrders = CancelledOrders
            };

            return(View(tables));
        }
Esempio n. 3
0
 public IActionResult ManageOrders(int pageIndex, int pageSize)
 {
     try
     {
         int    itemsCount         = _storeRepository.GetOrdersCount();
         string controller         = nameof(ManageStoreController);
         string action             = nameof(this.ManageOrders);
         List <OrderProvider> list = _storeRepository.GetOrders(pageIndex, pageSize);
         var model = new ManageOrdersViewModel();
         try
         {
             model.Pager      = new PagerViewModel(itemsCount, pageSize, pageIndex, controller, action);
             model.OrderItems = _mapper.Map <List <ManageOrderItemViewModel> >(list);
         }
         catch (Exception exc)
         {
         }
         return(View(model));
     }
     catch
     {
         return(View());
     }
 }
Esempio n. 4
0
        // GET: /<controller>/
        public IActionResult Index(string statusMessage = null, string successMessage = null, string failureMessage = null)
        {
            var userId    = _userManager.GetUserId(User);
            var viewModel = new ManageOrdersViewModel()
            {
                NewOrders = _context.Orders.
                            Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.OrderPlaced, _context)).
                            Include(x => x.OrderStatus).
                            Include(x => x.DeliveryType).
                            OrderByDescending(x => x.OrderPlacedDate).
                            ToList(),
                AwaitingStock = _context.Orders.
                                Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.AwaitingStock, _context)).
                                Include(x => x.OrderStatus).
                                Include(x => x.DeliveryType).
                                OrderByDescending(x => x.OrderPlacedDate).
                                ToList(),
                CancelledOrders = _context.Orders.
                                  Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.OrderCancelled, _context)).
                                  Include(x => x.OrderStatus).
                                  Include(x => x.DeliveryType).
                                  ToList(),
                OpenReturns = _context.Orders.
                              Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.AwaitingReturn, _context)).
                              Include(x => x.OrderStatus).
                              Include(x => x.DeliveryType).
                              ToList(),
                StatusMessage  = statusMessage,
                SuccessMessage = successMessage,
                FailureMessage = failureMessage
            };

            var searchTerm = "select * from dbo.orders where orderstatusid in (" +
                             OrderHelper.StatusId(MasterStrings.OrderDispatched, _context) + "," +
                             OrderHelper.StatusId(MasterStrings.OrderReturned, _context) + "," +
                             OrderHelper.StatusId(MasterStrings.CancellationCompleted, _context) + ")";

            var completed = _context.Orders.FromSql(searchTerm).
                            Include(x => x.DeliveryType).
                            ToList();

            viewModel.CompletedOrders = completed;

            //clear old orders
            DateTime date30 = DateTime.Now.AddDays(-30);

            List <Order> orders = _context.Orders.
                                  Where(x => x.OpenedDate < date30).
                                  Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.Basket, _context)).
                                  ToList();

            foreach (var item in orders)
            {
                _context.RemoveRange(_context.OrderItems.Where(x => x.OrderId == item.Id));

                _context.Remove(item);
            }
            // remove order id's from yesterday with no items
            DateTime date1 = DateTime.Now.AddDays(-1);

            orders = _context.Orders.
                     Where(x => x.OpenedDate < date1).
                     Where(x => x.OrderStatusId == OrderHelper.StatusId(MasterStrings.Basket, _context)).
                     Include(x => x.OrderItems).
                     ToList();

            foreach (var item in orders)
            {
                if (item.OrderItems.Count == 0 || item.OrderItems == null)
                {
                    _context.RemoveRange(_context.OrderItems.Where(x => x.OrderId == item.Id));
                    _context.Remove(item);
                }
            }

            _context.SaveChanges();

            return(View(viewModel));
        }