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 }); }
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(); }