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); }
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")); }
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")); }