public ActionResult AddComboOffer(ComboOffer offer)
        {
            try
            {
                this._promotionDataService.AddComboOffer(offer);
                return(Ok());
            }

            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public void TestComboOfferCalculation_extraItems()
        {
            Product productA = new Product();

            productA.productName  = "A";
            productA.productPrice = 50;
            productA.productType  = "clothing";
            productA.discountList = new List <string>();

            ComboOffer productA_Combo = new ComboOffer(productA, 3, 130);
            float      Price          = productA_Combo.calculatePrice(5);

            Assert.AreEqual(230, Price);
        }
 public void AddComboOffer(ComboOffer offer)
 {
     try
     {
         var currentOffers = this.GetComboOffers().OrderBy(a => a.Id).ToList();
         offer.Id = currentOffers.LastOrDefault().Id + 1;
         currentOffers.Add(offer);
         this._masterData.PromotionMaster.ComboOffers = currentOffers;
         string newJsonResult = JsonConvert.SerializeObject(this._masterData, Formatting.Indented);
         File.WriteAllText(this.jsonFilePath, newJsonResult);
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
        public void UpdateComboOffer(ComboOffer offer)
        {
            try
            {
                var currentOfferData = this.GetComboOffers().OrderBy(a => a.Id).ToList();
                var index            = currentOfferData.FindIndex(a => a.Id == offer.Id);
                if (index > 0)
                {
                    currentOfferData[index] = offer;
                }
                else
                {
                    throw new IndexOutOfRangeException("Invalid item: Combo Offer is not found in the system");
                }

                this._masterData.PromotionMaster.ComboOffers = currentOfferData;
                string newJsonResult = JsonConvert.SerializeObject(this._masterData, Formatting.Indented);
                File.WriteAllText(this.jsonFilePath, newJsonResult);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemplo n.º 5
0
        public static IList <Product> GetProducts()
        {
            var products = new List <Product>();

            var productA = new Product
            {
                Sku   = 'A',
                Price = 50,
                BundleOfferPromotions = new BundleOffer
                {
                    Name         = "Bundle A",
                    BundleCount  = 3,
                    BundleAmount = 130,
                    Description  = "Bundle A",
                    Category     = "Bundle Offer"
                },
                ItemCount = 10
            };

            var productC = new Product
            {
                Sku       = 'C',
                Price     = 20,
                ItemCount = 10
            };

            var comboOfferPromotionsD = new List <ComboOffer>();

            var comboC = new ComboOffer
            {
                Product     = productC,
                ComboAmount = 30,
                Category    = "combo offer"
            };

            comboOfferPromotionsD.Add(comboC);

            var productD = new Product
            {
                Sku   = 'D',
                Price = 15,
                ComboOfferPromotions = comboOfferPromotionsD,
                ItemCount            = 10
            };

            var comboOfferPromotionsC = new List <ComboOffer>();

            var comboD = new ComboOffer
            {
                Product     = productD,
                ComboAmount = 30,
                Category    = "combo offer"
            };

            comboOfferPromotionsC.Add(comboD);

            productC.ComboOfferPromotions = comboOfferPromotionsC;

            products.Add(productA);
            products.Add(productC);
            products.Add(productD);

            return(products);
        }
Exemplo n.º 6
0
 public void AddComboOffer(ComboOffer combo)
 {
     this._promotionRepo.AddComboOffer(combo);
 }