Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }