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); } }
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); }
public void AddComboOffer(ComboOffer combo) { this._promotionRepo.AddComboOffer(combo); }