public async Task <IActionResult> UserOrders(string sort = "DSC") { order.Clear(); var userId = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var user = await userManager.FindByIdAsync(userId); int sum = 0; int number = 0; IEnumerable <Order> orders = orderRepository.GetOrders(user.Id); UserOrdersVM userOrders = new UserOrdersVM { Orders = new List <OrderVM>() }; foreach (Order o in orders) { OrderVM orderVm = new OrderVM(); var DbOrderedOutfits = orderedOutfitRepository.GetOrderedOutfits(o.Id); foreach (OrderedOutfit ob in DbOrderedOutfits) { var outfit = OutfitRepository.Get(ob.OutfitId); int price = outfit.Price * ob.Quantity; if (outfit.Discount.HasValue) { price = price * (100 - outfit.Discount.Value) / 100; } CartLine ct = new CartLine { Price = price, Outfit = outfit, Quantity = ob.Quantity }; orderVm.Lines.Add(ct); } sum += o.Price; orderVm.Number = ++number; orderVm.OrderPrice = o.Price; orderVm.OrderId = o.Id; userOrders.Orders.Add(orderVm); } if (sort == "DSC") { userOrders.Orders.Reverse(); TempData["Sort"] = "ASC"; } else { TempData["Sort"] = "DSC"; } userOrders.Price = sum; return(View(userOrders)); }
public async Task <IActionResult> UserOrders() { var userId = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var user = await userManager.FindByIdAsync(userId); int sum = 0; IEnumerable <Order> orders = OrderRepository.GetOrders(user.Id); UserOrdersVM userOrders = new UserOrdersVM(); foreach (Order o in orders) { OrderVM orderVm = new OrderVM(); foreach (OrderedOutfit ob in orderedOutfitRepository.GetOrderedOutfits(o.Id)) { CartLine ct = new CartLine { Outfit = OutfitRepository.Get(ob.OutfitId), Quantity = ob.Quantity }; orderVm.Lines.Add(ct); } orderVm.OrderId = o.Id; userOrders.Orders.Add(orderVm); sum += o.Price; } userOrders.Price = sum; return(View(userOrders)); }