public PromoModels.PromofiedCart ApplyPromo(string id) { if (string.IsNullOrEmpty(id)) { throw new Exception("Not a valid cart id"); } CartModels.Cart cart = GetCart(id); // assuming that promo code ids are sent in the controller request var promoCodes = new List <string>(); var promoCollection = new List <PromoModels.Promo>(); foreach (var pc in promoCodes) { var promo = _promoRepo.Get(pc); if (promo != null) { promoCollection.Add(promo); } } // process promo code and get total price PromoModels.PromofiedCart promofiedCart = _promoEngine.Process(promoCollection, cart); return(promofiedCart); }
public PromoModels.Promo Get(string id) { return(_promo.Get(id)); }