Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //create approvers
            IApprover manager  = new Manager();
            IApprover director = new Director();
            IApprover gManager = new GeneralManager();

            //Create the chain
            manager.Approver  = director;
            director.Approver = gManager;

            //Create requests
            MoneyTransfer reqModel = new MoneyTransfer(850, "TR9045656456456464454642", "Caner Tosuner");

            manager.HandleRequest(reqModel);

            reqModel = new MoneyTransfer(1450, "TR9045656456456464454642", "Caner Tosuner");
            manager.HandleRequest(reqModel);

            reqModel = new MoneyTransfer(5550, "TR9045656456456464454642", "Caner Tosuner");
            manager.HandleRequest(reqModel);

            reqModel = new MoneyTransfer(9000, "TR9045656456456464454642", "Caner Tosuner");
            manager.HandleRequest(reqModel);


            Console.ReadKey();
        }
Ejemplo n.º 2
0
 public void HandleRequest(MoneyTransfer transfer)
 {
     if (transfer.Amount < 3000)
     {
         Console.WriteLine("{0} approved transfer request #{1}",
                           this.GetType().Name, transfer.Amount);
     }
     else if (Approver != null)
     {
         Approver.HandleRequest(transfer);
     }
 }