static void Main1(string[] args) { // Setup Chain of Responsibility Approver rohit = new Clerk(); Approver rahul = new AssistantManager(); Approver manoj = new Manager(); rohit.Successor = rahul; rahul.Successor = manoj; // Generate and process loan requests var loan = new Loan { Number = 2034, Amount = 24000.00, Purpose = "Laptop Loan" }; rohit.ProcessRequest(loan); loan = new Loan { Number = 2035, Amount = 42000.10, Purpose = "Bike Loan" }; rohit.ProcessRequest(loan); loan = new Loan { Number = 2036, Amount = 156200.00, Purpose = "House Loan" }; rohit.ProcessRequest(loan); // Wait for user Console.ReadKey(); }
static void Main(string[] args) { var request = new LoanRequest { InterestOverride = false, LoanRequired = 99000 }; var assMng = new AssistantManager(); var Mng = new Manager(); var brcMng = new BranchManager(); var rgnMng = new RegionalManager(); var ntnMng = new NationalManager(); var ExcMng = new ExecutiveManager(); var nullmng = new NullEndManager(); assMng.SetNext(Mng).SetNext(brcMng).SetNext(rgnMng).SetNext(ntnMng).SetNext(ExcMng).SetNext(nullmng); var result = assMng.Handle(request); Console.WriteLine(result); }