public static void Main(string[] args)
const string empName = "EMP 5";
var team = GetEmployeeDetails(empName);
DisplayTeamStructure(team);
private static void DisplayTeamStructure(Employee emp)
string empDetails = String.Format("{0} - {1}", emp.Name, emp.Designation);
Console.WriteLine(empDetails);
private static Employee GetEmployeeDetails(string empName)
var projMgr = new Employee() { Name = "EMP 1", Designation = "Proj Mgr" };
var techLead = new Employee() { Name = "EMP 2", Designation = "Tech Lead", ReportingTo = projMgr };
var qaLead = new Employee() { Name = "EMP 3", Designation = "QA Lead", ReportingTo = projMgr };
var srDev1 = new Employee() { Name = "EMP 4", Designation = "Sr Dev", ReportingTo = techLead };
var srDev2 = new Employee() { Name = "EMP 5", Designation = "Sr Dev", ReportingTo = techLead };
var qa1 = new Employee() { Name = "EMP 7", Designation = "QA", ReportingTo = qaLead };
var jrDev1 = new Employee() { Name = "EMP 6", Designation = "Jr Dev", ReportingTo = srDev1 };
public string Name { get; set; }
public string Designation { get; set; }
public Employee ReportingTo { get; set; }