public IActionResult Index() { var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); shoppingCardVM = new ShoppingCardVM() { OrderHeader = new Models.OrderHeader(), ListCard = _unitOfWork.ShoppingCard.GetAll(u => u.ApplicationUserId == claim.Value, includeProperties: "Product") }; shoppingCardVM.OrderHeader.OrderTotal = 0; shoppingCardVM.OrderHeader.ApplicationUser = _unitOfWork.ApplicationUser .GetFirstOrDefault(u => u.Id == claim.Value, includeProperties: "Company"); foreach (var list in shoppingCardVM.ListCard) { list.Price = SD.GetPriceBasedOnQuantity(list.Count, list.Product.Price, list.Product.Price50, list.Product.Price100); shoppingCardVM.OrderHeader.OrderTotal += (list.Price * list.Count); list.Product.Description = SD.ConvertToRawHtml(list.Product.Description); if (list.Product.Description.Length > 100) { list.Product.Description = list.Product.Description.Substring(0, 99) + "..."; } } return(View(shoppingCardVM)); }
public IActionResult Index() { var claimsIdentity = (ClaimsIdentity)User.Identity; var claims = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); ShoppingCardVM = new ShoppingCardVM() { OrderHeader = new OrderHeader(), ListCard = _uow.shoppingCard.GetAll(u => u.ApplicationUserId == claims.Value, includeProperties: "Product") }; ShoppingCardVM.OrderHeader.OrderTotal = 0; ShoppingCardVM.OrderHeader.ApplicationUser = _uow.applicationUser.GetFirstOrDefault(u => u.Id == claims.Value, includeProperties: "Company"); foreach (var card in ShoppingCardVM.ListCard) { card.Price = ProjectConstant.GetPriceBaseOnQuantity(card.Count, card.Product.Price, card.Product.Price50, card.Product.Price100); ShoppingCardVM.OrderHeader.OrderTotal += (card.Price * card.Count); card.Product.Description = ProjectConstant.ConvertToRawHtml(card.Product.Description); if (card.Product.Description.Length > 50) { card.Product.Description = card.Product.Description.Substring(0, 49) + "...."; } } return(View(ShoppingCardVM)); }
public IActionResult Summary() { var claimsIdentity = (ClaimsIdentity)User.Identity; var claim = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); shoppingCardVM = new ShoppingCardVM() { OrderHeader = new Models.OrderHeader(), ListCard = _unitOfWork.ShoppingCard.GetAll(c => c.ApplicationUserId == claim.Value, includeProperties: "Product") }; shoppingCardVM.OrderHeader.ApplicationUser = _unitOfWork.ApplicationUser.GetFirstOrDefault(c => c.Id == claim.Value, includeProperties: "Company"); foreach (var list in shoppingCardVM.ListCard) { list.Price = SD.GetPriceBasedOnQuantity(list.Count, list.Product.Price, list.Product.Price50, list.Product.Price100); shoppingCardVM.OrderHeader.OrderTotal += (list.Price * list.Count); } shoppingCardVM.OrderHeader.Name = shoppingCardVM.OrderHeader.ApplicationUser.Name; shoppingCardVM.OrderHeader.PhoneNumber = shoppingCardVM.OrderHeader.ApplicationUser.PhoneNumber; shoppingCardVM.OrderHeader.StreetAddress = shoppingCardVM.OrderHeader.ApplicationUser.StreetAddress; shoppingCardVM.OrderHeader.City = shoppingCardVM.OrderHeader.ApplicationUser.City; shoppingCardVM.OrderHeader.State = shoppingCardVM.OrderHeader.ApplicationUser.State; shoppingCardVM.OrderHeader.PostalCode = shoppingCardVM.OrderHeader.ApplicationUser.PostalCode; return(View(shoppingCardVM)); }
public IActionResult Summary() { var claimsIdentity = (ClaimsIdentity)User.Identity; var claims = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier); ShoppingCartVM = new ShoppingCardVM() { OrderHeader = new OrderHeader(), ListCart = _uow.ShoppingCart.GetAll(u => u.ApplicationUserId == claims.Value, includeProperties: "Product") }; ShoppingCartVM.OrderHeader.ApplicationUser = _uow.ApplicationUser .GetFirstOrDefault(u => u.Id == claims.Value, includeProperties: "Company"); foreach (var item in ShoppingCartVM.ListCart) { item.Price = ProjectConstant.GetPriceBaseOnQuantity(item.Count, item.Product.Price, item.Product.Price50, item.Product.Price100); ShoppingCartVM.OrderHeader.OrderTotal += (item.Price * item.Count); } ShoppingCartVM.OrderHeader.Name = ShoppingCartVM.OrderHeader.ApplicationUser.Name; ShoppingCartVM.OrderHeader.PhoneNumber = ShoppingCartVM.OrderHeader.ApplicationUser.PhoneNumber; ShoppingCartVM.OrderHeader.StreetAddress = ShoppingCartVM.OrderHeader.ApplicationUser.StreetAddress; ShoppingCartVM.OrderHeader.City = ShoppingCartVM.OrderHeader.ApplicationUser.City; ShoppingCartVM.OrderHeader.State = ShoppingCartVM.OrderHeader.ApplicationUser.State; ShoppingCartVM.OrderHeader.PostCode = ShoppingCartVM.OrderHeader.ApplicationUser.PostaCode; return(View(ShoppingCartVM)); }
public IActionResult ShoppingCard() { ShoppingCardVM shoppingvm = new ShoppingCardVM(Context); if (shoppingvm.CurrentNotDeliveredOrder(GetLoginCustomer()) != null) { ViewBag.orderID = shoppingvm.CurrentNotDeliveredOrder(GetLoginCustomer()).ID; } ShoppingCardVM vM = new ShoppingCardVM(Context); return(View(vM)); }
public IActionResult AddShopCard(ShoppingCardVM shoppingBox) { var entity = new ShoppingBox(); entity.BookId = shoppingBox.BookId; entity.Price = shoppingBox.Price; entity.Quantity = shoppingBox.Quantity; entity.UserId = shoppingBox.UserId; entity.Title = shoppingBox.Title; _shoppingBoxService.Add(entity); return(Ok()); }
public bool FinishOrder(string userId, ShoppingCardVM finishOrderVM) { var user = this.Context.Users.Find(userId); if (user?.ShoppingCart == null || !string.Equals(user.Id, finishOrderVM.UserId)) { return(false); } var invoice = new Order { Date = DateTime.Now, DeliveryAddress = finishOrderVM.DeliveryAddress, User = user, UserId = userId }; this.Context.Orders.Add(invoice); this.Context.SaveChanges(); foreach (var purchaseVM in finishOrderVM.Purchases) { var purchase = user.ShoppingCart.Purchases.FirstOrDefault(p => p.Id == purchaseVM.Id); if (purchase == null) { return(false); } if (purchase.Product.Quantity < purchase.Quantity || purchase.Quantity <= 0) { return(false); } purchase.Price = purchaseVM.Price; user.ShoppingCart.Purchases.Remove(purchase); invoice.Purchases.Add(purchase); purchase.Product.Quantity -= purchase.Quantity; } this.Context.SaveChanges(); return(true); }