public async Task <IActionResult> GetOrderDetails(int Id) { OrderHeaderAndOrderDetailsViewModel orderDetailsVM = new OrderHeaderAndOrderDetailsViewModel() { OrderHeader = await _db.OrderHeaders.Include(u => u.ApplicationUser).Where(u => u.OrderHeaderId == Id).FirstOrDefaultAsync(), OrderDetailsList = await _db.OrderDetails.Where(u => u.OrderId == Id).ToListAsync() }; return(PartialView("_IndividualOrderDetailsPartial", orderDetailsVM)); }
public async Task <IActionResult> Confirm(int id) { var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value; OrderHeaderAndOrderDetailsViewModel detailsVM = new OrderHeaderAndOrderDetailsViewModel() { OrderHeader = await _db.OrderHeaders.Include(u => u.ApplicationUser).Where(u => u.OrderHeaderId == id && u.ApplicationUserId == claim).FirstOrDefaultAsync(), OrderDetailsList = await _db.OrderDetails.Where(u => u.OrderId == id).ToListAsync() }; return(View(detailsVM)); }
public async Task <IActionResult> ManageOrder() { List <OrderHeaderAndOrderDetailsViewModel> orderDetailsVM = new List <OrderHeaderAndOrderDetailsViewModel>(); List <OrderHeader> OrderHeaderList = await _db.OrderHeaders .Where(o => o.Status == SD.StatusSubmitted || o.Status == SD.StatusInProcess) .OrderByDescending(o => o.PickUpTime).ToListAsync(); foreach (var orderHeader in OrderHeaderList) { OrderHeaderAndOrderDetailsViewModel invidualOrder = new OrderHeaderAndOrderDetailsViewModel() { OrderHeader = orderHeader, OrderDetailsList = await _db.OrderDetails.Where(u => u.OrderId == orderHeader.OrderHeaderId).ToListAsync() }; orderDetailsVM.Add(invidualOrder); } return(View(orderDetailsVM.OrderBy(o => o.OrderHeader.PickUpTime))); }
public async Task <IActionResult> OrderHistory(int productPage = 1) { var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value; OrderHeaderAndOrderDetailsListViewModel OrderAndPaging = new OrderHeaderAndOrderDetailsListViewModel() { OrderList = new List <OrderHeaderAndOrderDetailsViewModel>() }; List <OrderHeader> OrderHeaderList = await _db.OrderHeaders.Include(u => u.ApplicationUser).Where(u => u.ApplicationUserId == claim).ToListAsync(); foreach (var orderHeader in OrderHeaderList) { OrderHeaderAndOrderDetailsViewModel invidualOrder = new OrderHeaderAndOrderDetailsViewModel() { OrderHeader = orderHeader, OrderDetailsList = await _db.OrderDetails.Where(u => u.OrderId == orderHeader.OrderHeaderId).ToListAsync() }; OrderAndPaging.OrderList.Add(invidualOrder); } var count = OrderAndPaging.OrderList.Count; OrderAndPaging.OrderList = OrderAndPaging.OrderList.OrderByDescending(p => p.OrderHeader.OrderHeaderId) .Skip((productPage - 1) * PageSize).Take(PageSize) .ToList(); OrderAndPaging.PagingInfo = new PagingInfo() { CurrentPage = productPage, ItemsPerPage = PageSize, TotalItems = count, UrlParam = "/Customer/Order/OrderHistory?productPage=:" }; return(View(OrderAndPaging)); }
public async Task <IActionResult> OrderPickup(int productPage = 1, string searchName = null, string searchPhone = null, string searchEmail = null) { //var claimsIdentity = (ClaimsIdentity)User.Identity; //var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier).Value; OrderHeaderAndOrderDetailsListViewModel OrderAndPaging = new OrderHeaderAndOrderDetailsListViewModel() { OrderList = new List <OrderHeaderAndOrderDetailsViewModel>() }; StringBuilder param = new StringBuilder(); param.Append("/Customer/Order/OrderPickup?productPage=:"); param.Append("&searchName="); if (searchName != null) { param.Append(searchName); } param.Append("&searchPhone="); if (searchPhone != null) { param.Append(searchPhone); } param.Append("&searchName="); if (searchEmail != null) { param.Append(searchEmail); } List <OrderHeader> OrderHeaderList = new List <OrderHeader>(); ApplicationUser user = new ApplicationUser(); if (searchName != null || searchPhone != null || searchEmail != null) { if (searchName != null) { OrderHeaderList = _db.OrderHeaders .Include(o => o.ApplicationUser) .AsEnumerable() .Where(u => u.PickUpName.ToLower().Contains(searchName.ToString().ToLower())) .OrderByDescending(o => o.PickUpDate).ToList(); } else { if (searchEmail != null) { user = await _db.ApplicationUsers.Where(u => u.Email.ToLower().Contains(searchEmail.ToLower())).FirstOrDefaultAsync(); OrderHeaderList = _db.OrderHeaders .Include(o => o.ApplicationUser) .AsEnumerable() .Where(o => o.ApplicationUserId == user.Id) .OrderByDescending(o => o.PickUpDate).ToList(); } else { if (searchPhone != null) { OrderHeaderList = _db.OrderHeaders .AsEnumerable() .Where(o => o.PhoneNumber == searchPhone) .OrderByDescending(o => o.PickUpDate).ToList(); } } } } else { OrderHeaderList = await _db.OrderHeaders.Include(u => u.ApplicationUser).Where(u => u.Status == SD.StatusReady).ToListAsync(); } foreach (var orderHeader in OrderHeaderList) { OrderHeaderAndOrderDetailsViewModel invidualOrder = new OrderHeaderAndOrderDetailsViewModel() { OrderHeader = orderHeader, OrderDetailsList = await _db.OrderDetails.Where(u => u.OrderId == orderHeader.OrderHeaderId).ToListAsync() }; OrderAndPaging.OrderList.Add(invidualOrder); } var count = OrderAndPaging.OrderList.Count; OrderAndPaging.OrderList = OrderAndPaging.OrderList.OrderByDescending(p => p.OrderHeader.OrderHeaderId) .Skip((productPage - 1) * PageSize).Take(PageSize) .ToList(); OrderAndPaging.PagingInfo = new PagingInfo() { CurrentPage = productPage, ItemsPerPage = PageSize, TotalItems = count, UrlParam = param.ToString() }; return(View(OrderAndPaging)); }