Exemple #1
0
 /// <summary>
 /// add varinat to cart
 /// </summary>
 /// <param name="newVariantAdded"></param>
 /// <param name="SellingPrice"></param>
 /// <returns>true if the added</returns>
 public bool AddVariantToCart(CartVariantDTO newVariantAdded, double SellingPrice)
 {
     try
     {
         CartVariantMapping cartVariantAdd = cartOrderMapper.Map <CartVariantDTO, CartVariantMapping>(newVariantAdded);
         cartVariantAdd.ID           = Guid.NewGuid();
         cartVariantAdd.SellingPrice = SellingPrice;
         CartVariantMapping variant = dbContext.CartVariantMappings.Where(v => v.VariantID == newVariantAdded.VariantID && v.CartID == newVariantAdded.CartID).FirstOrDefault();
         Debug.WriteLine(dbContext.CartVariantMappings.Where(v => v.VariantID == newVariantAdded.VariantID && v.CartID == newVariantAdded.CartID).FirstOrDefault());
         if (variant == null)
         {
             dbContext.CartVariantMappings.Add(cartVariantAdd);
         }
         else
         {
             variant.Quantity     = newVariantAdded.Quantity;
             variant.SellingPrice = SellingPrice;
         }
         dbContext.SaveChanges();
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Exemple #2
0
        /// <summary>
        /// return  varianat data if present
        /// </summary>
        /// <param name="variantData"></param>
        /// <returns></returns>
        public CartVariantDTO VariantPresentAtCart(CartVariantDTO variantData)
        {
            CartVariantMapping variant = dbContext.CartVariantMappings.Where(v => v.VariantID == variantData.VariantID && v.CartID == variantData.CartID).FirstOrDefault();

            Debug.WriteLine(dbContext.CartVariantMappings.Where(v => v.VariantID == variantData.VariantID && v.CartID == variantData.CartID).FirstOrDefault());
            CartVariantDTO variantPresentCart = cartCheckerMapper.Map <CartVariantMapping, CartVariantDTO>(variant);

            return(variantPresentCart);
        }
        /// <summary>
        /// add product to cart business
        /// </summary>
        /// <param name="newVariantAdded"></param>
        /// <returns>true is product is added</returns>
        public bool AddItemCart(CartVariantDTO newVariantAdded)
        {
            ///get the product variants details
            VariantDTO variantData = cartOrderHelper.GetVariantDetails(newVariantAdded.VariantID);

            /*
             *  calautale the the selling price
             *
             * */
            double SellingPrice = variantData.ListingPrice - variantData.Discount;

            /*
             *
             * get the varinat data from cart whther it is present or not in the cart
             * add the new added Quautity to store quatity
             *
             */
            CartVariantDTO VariantPresentAtCart = cartOrderHelper.VariantPresentAtCart(newVariantAdded);

            /*
             *
             * Check the inventory is available
             *
             */
            /*check the variant present at cart*/
            if (VariantPresentAtCart != null)
            {
                newVariantAdded.Quantity = newVariantAdded.Quantity + VariantPresentAtCart.Quantity;
            }

            if (cartOrderHelper.IsInventoryAvaiable(newVariantAdded.Quantity, variantData.Inventory))
            {
                ////check the if user order limit is excedded then the order limit
                if (cartOrderHelper.IsUserCanOrder(newVariantAdded, variantData))
                {
                    if (cartOrderHelper.ProductLimit(variantData.ProductID) >= newVariantAdded.Quantity)
                    {
                        bool added = cartOrderHelper.AddVariantToCart(newVariantAdded, SellingPrice);
                    }
                    else
                    {
                        throw new UserOrderLimitExceddException();
                    }
                }
                else
                {
                    throw new UserOrderLimitExceddException();
                }
            }
            else
            {
                throw new OutOfStockException();
            }
            return(true);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="ItemToBEAdded"></param>
        /// <param name="variantData"></param>
        /// <returns></returns>
        ///
        public bool IsUserCanOrder(CartVariantDTO newVariantAdded, VariantDTO variantData)
        {
            IEnumerable <OrderPlacedVariantDTO> orderPlacedVariants = addvariantDataBase.UserOrderData(newVariantAdded.CartID);
            int OrderLimit      = addvariantDataBase.GetProductOrderLimitByID(variantData.ProductID);
            int UserOrderdCount = orderPlacedVariants.Where(c => c.VariantID == newVariantAdded.VariantID).Count();

            if (UserOrderdCount >= OrderLimit)
            {
                return(false);
            }
            return(true);
        }
Exemple #5
0
        public ActionResult AddItem([Bind(Include = "Quantity,VariantID")] CartVariantViewModel cartVariantViewModel)
        {
            var cartViewConfig = new MapperConfiguration(cfg => {
                cfg.CreateMap <CartVariantViewModel, CartVariantDTO>();
            });

            IMapper        cartDataMapper = new Mapper(cartViewConfig);
            CartVariantDTO cartItemDTO    = new CartVariantDTO();

            try
            {
                cartItemDTO        = cartDataMapper.Map <CartVariantViewModel, CartVariantDTO>(cartVariantViewModel);
                cartItemDTO.CartID = new Guid(Session["userId"].ToString());
                CartBusiness cartBusiness = new CartBusiness();
                bool         isproductAdd = cartBusiness.AddItemCart(cartItemDTO);
                return(RedirectToAction("GetCart", "Cart"));
            }
            catch (Exception)
            {
                return(RedirectToAction("ErrorViewShow", "HttpErrors", new { msg = "order Limit For Product is Excedd" }));
            }
        }
 public bool AddVariantToCart(CartVariantDTO newVariantAdded, double SellingPrice)
 {
     return(addvariantDataBase.AddVariantToCart(newVariantAdded, SellingPrice));
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="ItemToBEAdded"></param>
 /// <param name="variantData"></param>
 /// <returns></returns>
 public CartVariantDTO VariantPresentAtCart(CartVariantDTO variantData)
 {
     return(addvariantDataBase.VariantPresentAtCart(variantData));
 }