private static void Strategy() { #region Strategy decimal a = 10; decimal b = 5; CalculatorContext calculatorContext = new CalculatorContext(); calculatorContext.SetStrategy(new StrategyAddition()); Console.WriteLine("Resultado: " + calculatorContext.Calculate(a, b)); calculatorContext.SetStrategy(new StrategySubtraction()); Console.WriteLine("Resultado: " + calculatorContext.Calculate(a, b)); calculatorContext.SetStrategy(new StrategyMultiplication()); Console.WriteLine("Resultado: " + calculatorContext.Calculate(a, b)); calculatorContext.SetStrategy(new StrategyDivision()); Console.WriteLine("Resultado: " + calculatorContext.Calculate(a, b)); calculatorContext.SetStrategy(new StrategyExponentiation()); Console.WriteLine("Resultado: " + calculatorContext.Calculate(a, b)); #endregion Strategy }
public double CalculateFor(Coupon coupon, double totalAmount) { if (totalAmount < coupon.MinimumPurchaseAmount) { return(default(double)); } var discountCalculatorContext = new CalculatorContext(coupon.DiscountType, coupon.AmountOfDiscount, totalAmount); return(discountCalculatorContext.Calculate()); }
public double CalculateFor(Campaign campaign, double totalAmount) { var discountCalculatorContext = new CalculatorContext(campaign.DiscountType, campaign.AmountOfDiscount, totalAmount); return(discountCalculatorContext.Calculate()); }