Пример #1
0
        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
        }
Пример #2
0
        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());
        }