static void Main(string[] args) { Employee Rahul = new Employee { EmpID = 1, Name = "Rahul" }; Employee Amit = new Employee { EmpID = 2, Name = "Amit" }; Employee Mohan = new Employee { EmpID = 3, Name = "Mohan" }; Rahul.AddSubordinate(Amit); Rahul.AddSubordinate(Mohan); Employee Rita = new Employee { EmpID = 4, Name = "Rita" }; Employee Hari = new Employee { EmpID = 5, Name = "Hari" }; Amit.AddSubordinate(Rita); Amit.AddSubordinate(Hari); Employee Kamal = new Employee { EmpID = 6, Name = "Kamal" }; Employee Raj = new Employee { EmpID = 7, Name = "Raj" }; Contractor Sam = new Contractor { EmpID = 8, Name = "Sam" }; Contractor tim = new Contractor { EmpID = 9, Name = "Tim" }; Mohan.AddSubordinate(Kamal); Mohan.AddSubordinate(Raj); Mohan.AddSubordinate(Sam); Mohan.AddSubordinate(tim); Console.WriteLine("EmpID={0}, Name={1}", Rahul.EmpID, Rahul.Name); foreach (Employee manager in Rahul) { Console.WriteLine("\n EmpID={0}, Name={1}", manager.EmpID, manager.Name); foreach (var employee in manager) { Console.WriteLine(" \t EmpID={0}, Name={1}", employee.EmpID, employee.Name); } } Console.ReadKey(); }
static void Main(string[] args) { Employee boss = new Employee { Id = 1, Name = "boss" }; Employee backEndTeamLeader = new Employee { Id = 2, Name = "back-end Team Leader" }; Employee frontEndTeamLeader = new Employee { Id = 3, Name = "front-end Team Leader" }; boss.AddSubordinate(backEndTeamLeader); boss.AddSubordinate(frontEndTeamLeader); Employee cSharpSeniorDeveloper = new Employee { Id = 4, Name = "C# Senior Developer" }; Employee pythonSeniorDeveloper = new Employee { Id = 5, Name = "Python Senior Developer" }; backEndTeamLeader.AddSubordinate(cSharpSeniorDeveloper); backEndTeamLeader.AddSubordinate(pythonSeniorDeveloper); Employee angularSeniorDeveloper = new Employee { Id = 6, Name = "Angular Senior Developer" }; Employee blazorSeniorDeveloper = new Employee { Id = 7, Name = "Blazor Senior Developer" }; Contractor juniorAngularDeveloper = new Contractor { Id = 8, Name = "Junior Angular Developer" }; Contractor juniorReactDevelope = new Contractor { Id = 9, Name = "Junior React Developer" }; frontEndTeamLeader.AddSubordinate(angularSeniorDeveloper); frontEndTeamLeader.AddSubordinate(blazorSeniorDeveloper); frontEndTeamLeader.AddSubordinate(juniorAngularDeveloper); frontEndTeamLeader.AddSubordinate(juniorReactDevelope); Console.WriteLine(boss); foreach (Employee manager in boss) { Console.WriteLine($"\t" + manager); foreach (var employee in manager) { Console.WriteLine("\t\t" + employee); } } }