Esempio n. 1
0
        public void PlaceOrder(Guid UserID, CartVariantItemsDTO cartVariantItemsDTO, Guid addressID)
        {
            Guid     orderID       = Guid.NewGuid();
            Guid     orderPlacedID = Guid.NewGuid();
            DateTime dateTime      = DateTime.Now;
            Order    order         = new Order {
                ID = orderID, DeliveryAddressID = addressID, TotalAmount = cartVariantItemsDTO.SubTotal, isCancelled = "N", OrderDate = dateTime, DeliveryDate = dateTime, StatusID = 1
            };

            shoppingCartEntities.Orders.Add(order);
            shoppingCartEntities.SaveChanges();
            OrderPlaced orderPlaced = new OrderPlaced {
                ID = orderPlacedID, OrderID = orderID, UserID = UserID
            };

            shoppingCartEntities.OrderPlaceds.Add(orderPlaced);
            shoppingCartEntities.SaveChanges();

            foreach (var cartItem in cartVariantItemsDTO.CartItems)
            {
                OrderPlacedVariant orderPlacedVariant = new OrderPlacedVariant
                {
                    ID            = Guid.NewGuid(),
                    OrderPlacedID = orderPlacedID,
                    VariantID     = cartItem.Variant.ID,
                    SellingPrice  = cartItem.Variant.DiscountedPrice,
                    Quantity      = cartItem.Quantity
                };

                shoppingCartEntities.OrderPlacedVariants.Add(orderPlacedVariant);
                shoppingCartEntities.SaveChanges();
            }
            return;
        }
Esempio n. 2
0
 public void PlaceOrder(Guid UserID, AddressDTO addressDTO)
 {
     if (orderDataBaseContext.ItemsExist(UserID))
     {
         Guid AddressID = addressDatabaseContext.AddAddress(UserID, addressDTO);
         CartVariantItemsDTO cartVariantItemsDTO = cartDataBaseContext.GetCart(UserID);
         double subtotal = new double();
         foreach (var cartVariant in cartVariantItemsDTO.CartItems)
         {
             int    OrderQuantity = cartVariant.Quantity;
             double Discount      = cartVariant.Variant.Discount;
             double Price         = cartVariant.Variant.ListingPrice;
             cartVariant.Variant.DiscountedPrice = (Price * (100 - Discount) / 100);
             double DiscountedPrice = cartVariant.Variant.DiscountedPrice;
             subtotal += DiscountedPrice * OrderQuantity;
         }
         cartVariantItemsDTO.SubTotal = subtotal;
         orderDataBaseContext.PlaceOrder(UserID, cartVariantItemsDTO, AddressID);
         productDatabaseContext.UpdateInventory(cartVariantItemsDTO);
         cartDataBaseContext.EmptyCart(UserID);
     }
     else
     {
         throw new CartEmptyException();
     }
 }
        public CartVariantItemsDTO GetCart(Guid UserID)
        {
            var carts = shoppingCartEntities.CartVariantMappings.Include(c => c.Variant.Product).Where(c => c.CartID == UserID).ToList();

            Debug.WriteLine(shoppingCartEntities.CartVariantMappings.Include(c => c.Variant.Product).Where(c => c.CartID == UserID));
            CartVariantItemsDTO cartVariantItemsDTO = new CartVariantItemsDTO();

            cartVariantItemsDTO.CartItems = CartItemsMapper.Map <IEnumerable <CartVariantMapping>, IEnumerable <CartVariantDTO> >(carts);
            return(cartVariantItemsDTO);
        }
Esempio n. 4
0
 public ActionResult ViewCart()
 {
     try
     {
         CartVariantItemsDTO       cartVariantItemsDTO       = cartBusinessContext.GetCart(new Guid(Session["UserID"].ToString()));
         CartVariantItemsViewModel cartVariantItemsViewModel = new CartVariantItemsViewModel();
         cartVariantItemsViewModel.CartItems = CartInfoMapper.Map <IEnumerable <CartVariantDTO>, IEnumerable <CartVarientViewModel> >(cartVariantItemsDTO.CartItems);
         cartVariantItemsViewModel.SubTotal  = cartVariantItemsDTO.SubTotal;
         return(View(cartVariantItemsViewModel));
     }
     catch (Exception ex)
     {
         return(RedirectToAction("DefaultExceptionCatch", "Default", new { exception = ex }));
     }
 }
        public void UpdateInventory(CartVariantItemsDTO cartVariantItemsDTO)
        {
            foreach (var cartItem in cartVariantItemsDTO.CartItems)
            {
                shoppingCartEntities.Variants.FirstOrDefault(p => p.ID == cartItem.Variant.ID).Inventory    -= cartItem.Quantity;
                shoppingCartEntities.Variants.FirstOrDefault(p => p.ID == cartItem.Variant.ID).QuantitySold += cartItem.Quantity;
                shoppingCartEntities.Categories.FirstOrDefault(c => c.ID == cartItem.Variant.Product.Category.ID).ProductsSold += cartItem.Quantity;

                Debug.WriteLine(shoppingCartEntities.Variants.FirstOrDefault(p => p.ID == cartItem.Variant.ID).Inventory    -= cartItem.Quantity);
                Debug.WriteLine(shoppingCartEntities.Variants.FirstOrDefault(p => p.ID == cartItem.Variant.ID).QuantitySold += cartItem.Quantity);
                Debug.WriteLine(shoppingCartEntities.Categories.FirstOrDefault(c => c.ID == cartItem.Variant.Product.Category.ID).ProductsSold += cartItem.Quantity);

                shoppingCartEntities.SaveChanges();
            }
            return;
        }
Esempio n. 6
0
        public CartVariantItemsDTO GetCart(Guid UserID)
        {
            CartVariantItemsDTO cartVariantItemsDTO = cartDatabaseContext.GetCart(UserID);
            double subtotal      = new double();
            double Totaldiscount = new double();

            foreach (var cartVariants in cartVariantItemsDTO.CartItems)
            {
                int    Quantity = cartVariants.Quantity;
                double Discount = cartVariants.Variant.Discount;
                double Price    = cartVariants.Variant.ListingPrice;
                cartVariants.Variant.DiscountedPrice = (Price * (100 - Discount) / 100);
                double DiscountedPrice = cartVariants.Variant.DiscountedPrice;
                subtotal      += DiscountedPrice * Quantity;
                Totaldiscount += Discount * Price / 100;
            }
            cartVariantItemsDTO.TotalDiscount = Totaldiscount;
            cartVariantItemsDTO.SubTotal      = subtotal;
            return(cartVariantItemsDTO);
        }