Esempio n. 1
0
        public async Task <IActionResult> GetCustomerOrderDetails(int Id)
        {
            CustomerOrderDetailsViewModel CustomerOrderDetailsViewModel = new CustomerOrderDetailsViewModel()
            {
                CustomerOrderHeader  = await _db.CustomerOrderHeader.FirstOrDefaultAsync(m => m.Id == Id),
                CustomerOrderDetails = await _db.CustomerOrderDetails.Where(m => m.OrderId == Id).ToListAsync()
            };

            CustomerOrderDetailsViewModel.CustomerOrderHeader.ApplicationUser = await _db.ApplicationUser.FirstOrDefaultAsync(u => u.Id == CustomerOrderDetailsViewModel.CustomerOrderHeader.UserId);

            return(PartialView("_IndividualCustomerOrderDetails", CustomerOrderDetailsViewModel));
        }
Esempio n. 2
0
        public async Task <IActionResult> Confirm(int id)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);

            CustomerOrderDetailsViewModel CustomerOrderDetailsViewModel = new CustomerOrderDetailsViewModel()
            {
                CustomerOrderHeader  = await _db.CustomerOrderHeader.Include(o => o.ApplicationUser).FirstOrDefaultAsync(o => o.Id == id && o.UserId == claim.Value),
                CustomerOrderDetails = await _db.CustomerOrderDetails.Where(o => o.OrderId == id).ToListAsync()
            };

            return(View(CustomerOrderDetailsViewModel));
        }
Esempio n. 3
0
        public async Task <IActionResult> AllOrdersHistory(int productPage = 1)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);


            CustomerOrderListViewModel CustomerOrderListVM = new CustomerOrderListViewModel()
            {
                Orders = new List <CustomerOrderDetailsViewModel>()
            };



            //          List<CustomerOrderHeader> CustomerOrderHeaderList =  _db.CustomerOrderHeader.Include(o => o.ApplicationUser).Where(u => u.UserId == u.ApplicationUser.Id).ToList();
            List <CustomerOrderHeader> CustomerOrderHeaderList = new List <CustomerOrderHeader>();

            CustomerOrderHeaderList = _db.CustomerOrderHeader.Include(o => o.ApplicationUser).Where(u => u.Status == SD.StatusReady || u.Status == SD.StatusCompleted || u.Status == SD.StatusCancelled || u.Status == SD.StatusSubmitted || u.Status == SD.StatusInProcess).ToList();

            foreach (CustomerOrderHeader item in CustomerOrderHeaderList)
            {
                CustomerOrderDetailsViewModel individual = new CustomerOrderDetailsViewModel
                {
                    CustomerOrderHeader  = item,
                    CustomerOrderDetails = _db.CustomerOrderDetails.Where(o => o.OrderId == item.Id).ToList()
                };
                item.ApplicationUser = _db.ApplicationUser.Find(item.UserId);
                CustomerOrderListVM.Orders.Add(individual);
            }

            var count = CustomerOrderListVM.Orders.Count;

            CustomerOrderListVM.Orders = CustomerOrderListVM.Orders.OrderByDescending(p => p.CustomerOrderHeader.Id)
                                         .Skip((productPage - 1) * PageSize)
                                         .Take(PageSize).ToList();

            CustomerOrderListVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PageSize,
                TotalItem    = count,
                urlParam     = "/Admin/AllOrders/AllOrdersHistory?productPage=:"
            };
            return(View(CustomerOrderListVM));
        }
Esempio n. 4
0
        public async Task <IActionResult> PrepareOrder(int productPage = 1)
        {
            List <CustomerOrderDetailsViewModel> CustomerOrderDetailsVM = new List <CustomerOrderDetailsViewModel>();

            List <CustomerOrderHeader> CustomerOrderHeaderList = await _db.CustomerOrderHeader.Where(o => o.Status == SD.StatusSubmitted || o.Status == SD.StatusInProcess).OrderByDescending(u => u.PickUpTime).ToListAsync();


            foreach (CustomerOrderHeader item in CustomerOrderHeaderList)
            {
                CustomerOrderDetailsViewModel individual = new CustomerOrderDetailsViewModel
                {
                    CustomerOrderHeader  = item,
                    CustomerOrderDetails = await _db.CustomerOrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                CustomerOrderDetailsVM.Add(individual);
            }



            return(View(CustomerOrderDetailsVM.OrderBy(o => o.CustomerOrderHeader.PickUpTime).ToList()));
        }
Esempio n. 5
0
        public async Task <IActionResult> OrderHistory(int productPage = 1)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);


            CustomerOrderListViewModel CustomerOrderListVM = new CustomerOrderListViewModel()
            {
                Orders = new List <CustomerOrderDetailsViewModel>()
            };



            List <CustomerOrderHeader> CustomerOrderHeaderList = await _db.CustomerOrderHeader.Include(o => o.ApplicationUser).Where(u => u.UserId == claim.Value).ToListAsync();

            foreach (CustomerOrderHeader item in CustomerOrderHeaderList)
            {
                CustomerOrderDetailsViewModel individual = new CustomerOrderDetailsViewModel
                {
                    CustomerOrderHeader  = item,
                    CustomerOrderDetails = await _db.CustomerOrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                CustomerOrderListVM.Orders.Add(individual);
            }

            var count = CustomerOrderListVM.Orders.Count;

            CustomerOrderListVM.Orders = CustomerOrderListVM.Orders.OrderByDescending(p => p.CustomerOrderHeader.Id)
                                         .Skip((productPage - 1) * PageSize)
                                         .Take(PageSize).ToList();

            CustomerOrderListVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PageSize,
                TotalItem    = count,
                urlParam     = "/Customer/CustomerOrder/OrderHistory?productPage=:"
            };
            return(View(CustomerOrderListVM));
        }
Esempio n. 6
0
        public async Task <IActionResult> OrderDelivery(int productPage = 1, string searchEmail = null, string searchPhone = null, string searchName = null)
        {
            CustomerOrderListViewModel CustomerOrderListVM = new CustomerOrderListViewModel()
            {
                Orders = new List <CustomerOrderDetailsViewModel>()
            };

            StringBuilder param = new StringBuilder();

            param.Append("/Customer/CustomerOrder/OrderDelivery?productPage=:");
            param.Append("&searchName=");
            if (searchName != null)
            {
                param.Append(searchName);
            }


            List <CustomerOrderHeader> CustomerOrderHeaderList = new List <CustomerOrderHeader>();

            if (searchName != null || searchEmail != null || searchPhone != null)
            {
                var user = new ApplicationUser();

                if (searchName != null)
                {
                    CustomerOrderHeaderList = await _db.CustomerOrderHeader.Include(o => o.ApplicationUser)
                                              .Where(u => u.PickupName.ToLower().Contains(searchName.ToLower()))
                                              .OrderByDescending(o => o.OrderDate).ToListAsync();
                }
            }
            else
            {
                CustomerOrderHeaderList = await _db.CustomerOrderHeader.Include(o => o.ApplicationUser).Where(u => u.Status == SD.StatusReady).ToListAsync();
            }

            foreach (CustomerOrderHeader item in CustomerOrderHeaderList)
            {
                CustomerOrderDetailsViewModel individual = new CustomerOrderDetailsViewModel
                {
                    CustomerOrderHeader  = item,
                    CustomerOrderDetails = await _db.CustomerOrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                CustomerOrderListVM.Orders.Add(individual);
            }



            var count = CustomerOrderListVM.Orders.Count;

            CustomerOrderListVM.Orders = CustomerOrderListVM.Orders.OrderByDescending(p => p.CustomerOrderHeader.Id)
                                         .Skip((productPage - 1) * PageSize)
                                         .Take(PageSize).ToList();

            CustomerOrderListVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PageSize,
                TotalItem    = count,
                urlParam     = param.ToString()
            };

            return(View(CustomerOrderListVM));
        }