Ejemplo n.º 1
0
        public static void Run()
        {
            PurchaseRequest req       = new PurchaseRequest(60000, "Purchase PC for employee. ");
            Approver        approver  = new Director("刘主任");
            Approver        approver1 = new President("张董事");
            Approver        approver2 = new VicePresident("王副董");
            Approver        approver3 = new Congress("董事会");

            approver.SetSuccessor(approver2);
            approver1.SetSuccessor(approver3);
            approver2.SetSuccessor(approver1);

            approver.HandleRequest(req);
        }
Ejemplo n.º 2
0
        static void Main()
        {
            Approver Sameer = new President();
            Approver Abhi   = new CEO();
            Approver Rahul  = new Manager();

            Rahul.SetSuccessor(Sameer);
            Sameer.SetSuccessor(Abhi);

            // Generate and process purchase requests
            Project p = new Project(1, 350.00, "Test Postponed");

            Rahul.ProcessRequest(p);
            p = new Project(2, 32590.10, "Annual Function");
            Rahul.ProcessRequest(p);
            p = new Project(3, 122100.00, "Renovation of Classes");
            Rahul.ProcessRequest(p);

            Console.ReadKey();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            Approver larry = new MiddleManager();
            Approver bob = new VicePresident();
            Approver joe = new President();
            Approver end = new EndOfChain();

            larry.SetSuccessor(bob);
            bob.SetSuccessor(joe);
            joe.SetSuccessor(end);

            Purchase purchase1 = new Purchase { Amount = 100, Number = 1, Purpose = "R&D (Rest&Darts)" };
            Purchase purchase2 = new Purchase { Amount = 5000, Number = 2, Purpose = "Moose hunting" };
            Purchase purchase3 = new Purchase { Amount = 1000000, Number = 3, Purpose = "Bribery" };

            Console.WriteLine("Response for {0}: {1}", purchase1.ToString(), larry.ProcessRequest(purchase1));
            Console.WriteLine("Response for {0}: {1}", purchase2.ToString(), larry.ProcessRequest(purchase2));
            Console.WriteLine("Response for {0}: {1}", purchase3.ToString(), larry.ProcessRequest(purchase3));

            Console.ReadLine();
        }