Exemplo n.º 1
0
        public Microsoft.AspNetCore.Mvc.IViewComponentResult Invoke()
        {
            List <ViewModels.ShowCartViewModel> viewModel = new List <ViewModels.ShowCartViewModel>();
            var theUser  = UnitOfWork.BethanyPieShopUnitOfWork.UserRepository.GetUserByUsername(User.Identity.Name);
            var theOrder = UnitOfWork.BethanyPieShopUnitOfWork.OrderRepository.GetOrderByUserId(theUser.Id);

            if (theOrder != null)
            {
                var details = unitOfWork.BethanyPieShopUnitOfWork.OrderDetailsRepository.GetOrderDetailsByOrderId(theOrder.Id);
                foreach (var item in details)
                {
                    ViewModels.ShowCartViewModel showCartViewModel = new ViewModels.ShowCartViewModel()
                    {
                        OrderDetails          = item,
                        SumOfEachOrderDetails = item.Price * item.Amount,
                        ImageName             = unitOfWork.BethanyPieShopUnitOfWork.PieRepository.GetById(item.PieId).ImageName,
                    };

                    viewModel.Add(showCartViewModel);
                }
            }
            decimal sum = 0;

            foreach (var item in viewModel)
            {
                sum += item.SumOfEachOrderDetails;
            }

            ViewBag.TotalOrderPrice = sum;
            ViewBag.UserImage       = theUser.ImageName;
            return(View(viewModel));
        }
        public ActionResult ShowCart()
        {
            List <ViewModels.ShowCartViewModel> orderDetailsList = new List <ViewModels.ShowCartViewModel>();
            var theUser  = UnitOfWork.BethanyPieShopUnitOfWork.UserRepository.GetUserByUsername(User.Identity.Name);
            var theOrder = UnitOfWork.BethanyPieShopUnitOfWork.OrderRepository.GetOrderByUserId(theUser.Id);

            if (theOrder != null)
            {
                var details = UnitOfWork.BethanyPieShopUnitOfWork.OrderDetailsRepository.GetOrderDetailsByOrderId(theOrder.Id);
                foreach (var item in details)
                {
                    var viewModel = new ViewModels.ShowCartViewModel()
                    {
                        OrderDetails          = item,
                        SumOfEachOrderDetails = item.Price * item.Amount,
                        ImageName             = UnitOfWork.BethanyPieShopUnitOfWork.PieRepository.GetById(item.PieId).ImageName
                    };
                    orderDetailsList.Add(viewModel);
                }
            }
            else
            {
                return(RedirectToAction(actionName: nameof(Index), controllerName: "Home", routeValues: new { area = "" }));
            }

            decimal sum = 0;

            foreach (var item in orderDetailsList)
            {
                sum += item.SumOfEachOrderDetails;
            }

            ViewBag.TotalOrderPrice = sum;
            ViewBag.TheOrderId      = theOrder.Id;
            return(View(orderDetailsList));
        }