static void Main(string[] args)
        {
            Manager eray = new Manager {
                Name = "Eray", Salary = 1000
            };
            Manager hakan = new Manager {
                Name = "Hakan", Salary = 1100
            };

            Calisan semih = new Calisan {
                Name = "Semih", Salary = 800
            };
            Calisan mustafa = new Calisan {
                Name = "Mustafa", Salary = 800
            };

            eray.employeeBases.Add(hakan);
            hakan.employeeBases.Add(semih);
            hakan.employeeBases.Add(mustafa);

            OrganisationalStructure organisational = new OrganisationalStructure(eray);

            PayrollVisitor payrollVisitor = new PayrollVisitor();
            Payrise        payriseVisitor = new Payrise();

            organisational.Accept(payrollVisitor);
            organisational.Accept(payriseVisitor);
            Console.ReadLine();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Manager jack = new Manager {
                Name = "Jack", Salary = 4000
            };
            Manager john = new Manager {
                Name = "John", Salary = 3000
            };

            Worker amy = new Worker {
                Name = "amy", Salary = 2500
            };
            Worker peter = new Worker {
                Name = "Peter", Salary = 1500
            };

            jack.Subordinates.Add(john);
            john.Subordinates.Add(amy);
            john.Subordinates.Add(peter);

            OrganizationalStructure organizationalStructure = new OrganizationalStructure(jack);

            PayrollVisitor payrollVisitor = new PayrollVisitor();

            Payrise payrise = new Payrise();

            organizationalStructure.Accept(payrollVisitor);

            organizationalStructure.Accept(payrise);

            Console.ReadLine();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            Manager umut = new Manager {
                Name = "Umut", Salary = 1100
            };
            Manager arif = new Manager {
                Name = "Arif", Salary = 800
            };

            Worker ahmet = new Worker {
                Name = "Ahmet", Salary = 600
            };
            Worker mehmet = new Worker {
                Name = "Mehmet", Salary = 600
            };

            umut.Subordinates.Add(arif);
            arif.Subordinates.Add(ahmet);
            arif.Subordinates.Add(mehmet);

            OrganisationalStructure organisationalStructure = new OrganisationalStructure(umut);

            PayrollVisitor payrollVisitor = new PayrollVisitor();
            Payrise        payrise        = new Payrise();

            organisationalStructure.Accept(payrollVisitor);
            organisationalStructure.Accept(payrise);

            Console.ReadLine();
        }
Exemple #4
0
        static void Main(string[] args)
        {
            /*Genel olarak birbirine benziyen ve hiyerarşi nesnelerin aynı methodunun biri üzerinden çağırılması.*/

            Manager manager1 = new Manager {
                Name = "okan", Salary = 1000
            };
            Manager manager2 = new Manager {
                Name = "cenk", Salary = 900
            };
            Worker worker = new Worker {
                Name = "Eleman", Salary = 500
            };
            Worker worker1 = new Worker {
                Name = "Eleman1", Salary = 500
            };
            Worker worker2 = new Worker {
                Name = "Eleman2", Salary = 500
            };

            manager1.Subordinates.Add(worker);
            manager1.Subordinates.Add(worker1);
            manager2.Subordinates.Add(worker2);

            OrganisationalStructure organisationalStructure = new OrganisationalStructure(manager1);

            PayrollVisitor payrollVisitor = new PayrollVisitor();
            Payrise        payrise        = new Payrise();

            organisationalStructure.Accept(payrollVisitor);
            organisationalStructure.Accept(payrise);



            Console.ReadLine();
        }