private int GetShippingDetailId(CartViewModel cartViewModel)
 {
     return(_shippingDetailService.Add(new ShippingDetail
     {
         Address1 = cartViewModel.ShippingDetail.Address1,
         Address2 = cartViewModel.ShippingDetail.Address2,
         City = cartViewModel.ShippingDetail.City,
         Country = cartViewModel.ShippingDetail.Country,
         Name = cartViewModel.ShippingDetail.Name,
         IsGift = cartViewModel.ShippingDetail.IsGift
     }).Id);
 }
示例#2
0
        public IActionResult AddShippingDetail(ShippingDetail shippingDetail)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var user = _userService.GetByMail(User.Claims.SingleOrDefault(c => c.Type == ClaimTypes.Email).Value).Data;

            shippingDetail.CustomerId = user.Id;
            var result = _shippingDetailService.Add(shippingDetail);

            if (!result.Success)
            {
                return(RedirectToAction("InternalError", "Error", new { errorMessage = result.Message }));
            }

            return(RedirectToAction("Index", "Cart"));
        }
示例#3
0
        public IActionResult Complete(ShippingDetail shippingDetail)
        {
            var cart = _cartSessionService.GetCart();

            shippingDetail.AccountId = _userManager.GetUserId(HttpContext.User);
            shippingDetail.Time      = DateTime.Today;
            _shippingDetailService.Add(shippingDetail);

            Order order = new Order()
            {
                AccountId        = _userManager.GetUserId(HttpContext.User),
                ShippingDetailId = shippingDetail.ID,
                Total            = cart.Total,
            };

            _orderService.Add(order);
            foreach (var item in cart.CartLines)
            {
                if (item.Supplement.UnitInStock > item.Quantity)
                {
                    item.Supplement.UnitInStock = (item.Supplement.UnitInStock - item.Quantity);
                    _supplementService.Update(item.Supplement);



                    OrderLine orderLine = new OrderLine();
                    orderLine.OrderID      = order.ID;
                    orderLine.Price        = item.Supplement.Price;
                    orderLine.SupplementID = item.Supplement.ID;
                    orderLine.Quantity     = item.Quantity;
                    orderLine.AccountId    = _userManager.GetUserId(HttpContext.User);
                    orderLine.Time         = DateTime.Today;
                    _orderLineService.Add(orderLine);
                }
            }
            cart.CartLines.Clear();
            TempData.Add("message", "Your products successfully completed");



            return(RedirectToAction("Details"));
        }