コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }