Пример #1
0
        static void PayBill()
        {
            var paymentMethod = new PaymentMethod()
            {
                PayType = PaymentType.NetBanking
            };
            var creditCardHandler    = new CreditCardHandler();
            var debitCardHandler     = new DebitCardHandler();
            var paymentWalletHandler = new PaymentWalletHandler();
            var netBankingHandler    = new NetBankingHandler();

            creditCardHandler.SetNexthandler(debitCardHandler);
            debitCardHandler.SetNexthandler(paymentWalletHandler);
            paymentWalletHandler.SetNexthandler(netBankingHandler);
            creditCardHandler.Process(new Request()
            {
                Data = paymentMethod
            });
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Example-2 !");

            PaymentMethod paymentMethod = new PaymentMethod()
            {
                PaymentType = PaymentType.CreditCard
            };
            Request request = new Request()
            {
                Data = paymentMethod
            };

            CreditCardHandler     creditCardHandler     = new CreditCardHandler();
            DebitCardHandler      debitCardHandler      = new DebitCardHandler();
            NetBankingCardHandler netBankingCardHandler = new NetBankingCardHandler();

            creditCardHandler.SetNextHandler(debitCardHandler);
            debitCardHandler.SetNextHandler(netBankingCardHandler);

            creditCardHandler.Process(request);

            Console.ReadLine();
        }