public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { DeliveryCostCalculator = deliveryCostCalculator; Campaigns = new List <Campaign>(); Products = new Dictionary <Product, int>(); _campaignManager = new CampaignManager(); }
public Cart(IDeliveryCostCalculator deliveryCostCalculator) { Id = Guid.NewGuid(); _deliveryCostCalculator = deliveryCostCalculator; _items = new List <CartItem>(); }
static void Main(string[] args) { ServiceProvider serviceProvider = ResolveDependencies(); ICart cart = serviceProvider.GetService <ICart>(); IDeliveryCostCalculator deliveryCostCalculator = serviceProvider.GetService <IDeliveryCostCalculator>(); Run(cart, deliveryCostCalculator); Console.ReadLine(); }
public OrderCalculator( IDeliveryCostCalculator deliveryCostCalculator, IFeesCalculator feesCalculator, IOrderTotalCalculator orderTotalCalculator, ICampaignCalculator campaignCalculator, IVatCalculator vatCalculator, IOrderGrandTotalCalculator orderGrandTotalCalculator ) { this.deliveryCostCalculator = deliveryCostCalculator; this.feesCalculator = feesCalculator; this.orderTotalCalculator = orderTotalCalculator; this.campaignCalculator = campaignCalculator; this.vatCalculator = vatCalculator; this.orderGrandTotalCalculator = orderGrandTotalCalculator; }
static void Run(ICart cart, IDeliveryCostCalculator deliveryCostCalculator) { ICategory categoryConsumerElectronics = new Category("Consumer Electronics"); IProduct productAppleWatch = new Product(categoryConsumerElectronics, "Apple Watch", 2000.0); IProduct productAppleMacbookPro = new Product(categoryConsumerElectronics, "Apple Macbook Pro", 10000.0); ICategory categoryToysAndGames = new Category("Toys & Games"); IProduct productLego = new Product(categoryToysAndGames, "Lego Classic Pack", 100.0); cart.Add(productAppleWatch, 2); cart.Add(productAppleMacbookPro, 1); cart.Add(productLego, 10); ICollection <ICampaign> campaigns = new Collection <ICampaign>(); ICollection <ICoupon> coupons = new Collection <ICoupon>(); IRateCampaign inapplicableRateCampaign = new RateCampaign(categoryToysAndGames, "80% discount on Toys & Games category", .5, true, true, 50000.0, 20); IAmountCampaign lowAmountCampaign = new AmountCampaign(categoryConsumerElectronics, "100 TL discount on Toys & Games category", 100, false, false, 0.0, 0); IAmountCampaign bestAmountCampaign = new AmountCampaign(categoryConsumerElectronics, "1400 TL discount on Toys & Games category", 1400, false, true, 0.0, 3); IAmountCoupon inapplicableAmountCoupon = new AmountCoupon(5000, "5000 TL discount coupon", true, true, 50000, 50); IRateCoupon lowRateCoupon = new RateCoupon(.1, "10% discount coupon", false, false, 0.0, 0); IRateCoupon bestRateCoupon = new RateCoupon(.5, "50% discount coupon", true, true, 10000, 13); campaigns.Add(inapplicableRateCampaign); campaigns.Add(lowAmountCampaign); campaigns.Add(bestAmountCampaign); coupons.Add(inapplicableAmountCoupon); coupons.Add(lowRateCoupon); coupons.Add(bestRateCoupon); cart.ApplyDiscounts(campaigns, coupons); cart.DeliveryCost = deliveryCostCalculator.Calculate(cart); var response = cart.Print(); Console.Write(response); }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { CartItems = new Dictionary <string, ShoppingCartItem>(); DeliveryCostCalculator = deliveryCostCalculator; }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { ProductDict = new Dictionary <Product, int>(); _deliveryCostCalculator = deliveryCostCalculator; discountList = new List <Discount>(); }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { _deliveryCostCalculator = deliveryCostCalculator; _products = new Dictionary <Product.Product, int>(); _campaigns = new List <ICampaign>(); }
public LargeParcel(IDeliveryCostCalculator calculator, ParcelDimension dimension) : base(calculator, dimension) { }
public Order(string city, double orderCost, IDeliveryCostCalculator deliveryCostCalculator) { City = city; OrderCost = orderCost; _deliveryCostCalculator = deliveryCostCalculator; }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { DeliveryCostCalculator = deliveryCostCalculator; }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { _deliveryCostCalculator = deliveryCostCalculator; Products = new Dictionary <string, Product>(); }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { _deliveryCostCalculator = deliveryCostCalculator; ShoppingCartItems = new Dictionary <Product, int>(); Campaigns = new List <Campaign>(); }
public Parcel(IDeliveryCostCalculator calculator, ParcelDimension dimension) { _calculator = calculator; Dimension = dimension; }
public ShoppingCart(IDeliveryCostCalculator deliveryCostCalculator) { ProductQuantities = new Dictionary <Product, int>(); Campaigns = new List <Campaign>(); DeliveryCostCalculator = deliveryCostCalculator; }
public Cart(IDeliveryCostCalculator calculator) { this.calculator = calculator; }
public DeliveryCostCalculationService(IDeliveryCostCalculator deliveryCostCalculator) { _deliveryCostCalculator = deliveryCostCalculator; }
public ShoppingCartService(IDeliveryCostCalculator deliveryCostCalculator) { this.Campaigns = new List <Campaign>(); this.Carts = new List <Cart>(); this.deliveryCostCalculator = deliveryCostCalculator; }