示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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));
        }
示例#6
0
        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());
        }
示例#7
0
        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);
        }