示例#1
0
        public async Task <IActionResult> GetOrderDetails(int Id)
        {
            OrderDetailsVeiwModel orderDetailsVeiwModel = new OrderDetailsVeiwModel()
            {
                OrderHeader  = await _db.OrderHeader.FirstOrDefaultAsync(m => m.Id == Id),
                OrderDetails = await _db.OrderDetails.Where(m => m.OrderId == Id).ToListAsync()
            };

            orderDetailsVeiwModel.OrderHeader.ApplicationUser =
                await _db.ApplicationUsers.FirstOrDefaultAsync(u => u.Id == orderDetailsVeiwModel.OrderHeader.UserId);

            return(PartialView("_IndividualOrderDetails", orderDetailsVeiwModel));
        }
示例#2
0
        public async Task <IActionResult> Confirm(int id)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);

            OrderDetailsVeiwModel orderDetailsVeiwModel = new OrderDetailsVeiwModel()
            {
                OrderHeader = await _db.OrderHeader.Include(o => o.ApplicationUser)
                              .FirstOrDefaultAsync(o => o.Id == id && o.UserId == claim.Value),
                OrderDetails = await _db.OrderDetails.Where(o => o.OrderId == id).ToListAsync()
            };

            return(View(orderDetailsVeiwModel));
        }
示例#3
0
        public async Task <IActionResult> ManageOrder()
        {
            List <OrderDetailsVeiwModel> orderDetailsVeiwModel = new List <OrderDetailsVeiwModel>();

            List <OrderHeader> OrderHeaderList = await _db.OrderHeader
                                                 .Where(u => u.Status == SD.StatusSubmitted || u.Status == SD.StatusInProgress).OrderByDescending(o => o.PickUpTime).ToListAsync();

            foreach (OrderHeader item in OrderHeaderList)
            {
                OrderDetailsVeiwModel individual = new OrderDetailsVeiwModel()
                {
                    OrderHeader  = item,
                    OrderDetails = await _db.OrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                orderDetailsVeiwModel.Add(individual);
            }


            return(View(orderDetailsVeiwModel.OrderBy(o => o.OrderHeader.PickUpTime).ToList()));
        }
示例#4
0
        public async Task <IActionResult> OrderHistory(int productPage = 1)
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);


            OrderListViewModel orderListVM = new OrderListViewModel()
            {
                Orders = new List <OrderDetailsVeiwModel>()
            };



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

            foreach (OrderHeader item in OrderHeaderList)
            {
                OrderDetailsVeiwModel individual = new OrderDetailsVeiwModel
                {
                    OrderHeader  = item,
                    OrderDetails = await _db.OrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                orderListVM.Orders.Add(individual);
            }

            var count = orderListVM.Orders.Count;

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

            orderListVM.PagingInfo = new PagingInfo
            {
                CurrentPage  = productPage,
                ItemsPerPage = PageSize,
                TotalItem    = count,
                urlParam     = "/Customer/Order/OrderHistory?productPage=:"
            };

            return(View(orderListVM));
        }
示例#5
0
        public async Task <IActionResult> OrderPickup(int productPage   = 1, string searchEmail    = null,
                                                      string searchName = null, string searchPhone = null)
        {
            //var claimsIdentity = (ClaimsIdentity)User.Identity;
            //var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);


            OrderListViewModel orderListVM = new OrderListViewModel()
            {
                Orders = new List <OrderDetailsVeiwModel>()
            };

            StringBuilder param = new StringBuilder();

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

            param.Append("&s=searchPhone");
            if (searchPhone != null)
            {
                param.Append(searchPhone);
            }

            param.Append("&searchName=searchEmail");
            if (searchEmail != null)
            {
                param.Append(searchEmail);
            }

            List <OrderHeader> OrderHeaderList = new List <OrderHeader>();

            if (searchName != null || searchPhone != null || searchEmail != null)
            {
                var User = new ApplicationUser();
                OrderHeaderList = new List <OrderHeader>();
                if (searchName != null)
                {
                    OrderHeaderList = await _db.OrderHeader.Include(o => o.ApplicationUser)
                                      .Where(u => u.Pickupname.ToLower().Contains(searchName.ToLower()) && u.Status == SD.StatusReady)
                                      .OrderBy(o => o.OrderDate).ToListAsync();
                }
                else
                {
                    if (searchEmail != null)
                    {
                        User = await _db.ApplicationUsers.Where(u => u.Email.ToLower().Contains(searchEmail.ToLower()))
                               .FirstOrDefaultAsync();

                        OrderHeaderList = await _db.OrderHeader.Include(o => o.ApplicationUser)
                                          .Where(u => u.UserId == User.Id && u.Status == SD.StatusReady)
                                          .OrderByDescending(o => o.OrderDate).ToListAsync();
                    }
                    else
                    {
                        if (searchPhone != null)
                        {
                            OrderHeaderList = await _db.OrderHeader.Include(o => o.ApplicationUser)
                                              .Where(u => u.PhoneNumber.Contains(searchPhone.ToLower()) && u.Status == SD.StatusReady)
                                              .OrderBy(o => o.OrderDate).ToListAsync();
                        }
                    }
                }
            }
            else
            {
                OrderHeaderList = await _db.OrderHeader.Include(o => o.ApplicationUser).Where(u => u.Status == SD.StatusReady).ToListAsync();
            }

            foreach (OrderHeader item in OrderHeaderList)
            {
                OrderDetailsVeiwModel individual = new OrderDetailsVeiwModel
                {
                    OrderHeader  = item,
                    OrderDetails = await _db.OrderDetails.Where(o => o.OrderId == item.Id).ToListAsync()
                };
                orderListVM.Orders.Add(individual);
            }

            var count = orderListVM.Orders.Count;

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

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

            return(View(orderListVM));
        }