Esempio n. 1
0
        private static void ReportWithCoR()
        {
            // CoR implementation
            Console.WriteLine("Chain of Responsibility");

            var report = new ExpenseReport(2000m);
            var eh1    = new ExpenseHandler(new Employee("Pylyp", 0m));
            var eh2    = new ExpenseHandler(new Employee("Hasham", 100m));
            var eh3    = new ExpenseHandler(new Employee("Annalisa", 1000m));
            var eh4    = new ExpenseHandler(new Employee("Isabel", 10000m));

            eh1.SetNext(eh2);
            eh2.SetNext(eh3);
            eh3.SetNext(eh4);

            var response = eh1.Approve(report);

            Console.WriteLine("Response {0}", response);
        }