static void Main(string[] args) { Employee bill = new Employee("Bill", "Mason"); Employee sam = new Employee("Sam", "Garner"); Employee fred = new Employee("Fred", "Gallagher"); Employee jane = new Employee("Jane", "Faucet"); Employee alice = new Employee("Alice", "Moreau"); bill.Minions.Add(sam); bill.Minions.Add(fred); bill.Minions.Add(jane); sam.DirectBoss = bill; fred.DirectBoss = bill; jane.DirectBoss = bill; fred.Minions.Add(alice); alice.DirectBoss = fred; bill.PrintEmployeeInfo(); sam.PrintEmployeeInfo(); fred.PrintEmployeeInfo(); jane.PrintEmployeeInfo(); alice.PrintEmployeeInfo(); Console.ReadLine(); //pause }
static void Main(string[] args) { var sam = new Employee("sam"); var bill = new Employee("bill"); var fred = new Employee("fred"); var jane = new Employee("jane"); var alice = new Employee("alice"); var employees = new List<Employee> { bill, sam, jane, fred, alice }; sam.Supervisor = bill; fred.Supervisor = bill; jane.Supervisor = bill; alice.Supervisor = fred; foreach (var emp in employees) { Console.WriteLine("{0} has {1} minions. \n{0} reports to {2}", emp.Name, emp.ReportCount, emp.Supervisor == null ? "nobody" : emp.Supervisor.Name); } Console.WriteLine("{0} has {1}", bill.Name, bill.ReportCount); Console.ReadLine(); }
static void DisplayOrgChart(Employee employee, int level=0) { //RECURSION //indent for (var i = 0; i < level; i++) { Console.Write("---"); //Console.Write() writes contents on the same line instead of all new lines } //show name and report count Console.WriteLine("{0} has the following {1} reports: ", employee.Name, employee.ReportCount); //show reports level++; foreach (var report in employee.Reports) { DisplayOrgChart(report, level); } }
static void DisplayOrgChart(Employee employee, int level = 0) { //indent for (var i = 0; i < level; i++) { Console.Write("---"); } //SHow Name and report count Console.WriteLine("{0} has the following {1} reports:", employee.Name, employee.ReportCount); //Show reports level++; foreach (var report in employee.Report) { DisplayOrgChart(report, level); } }
static void Main(string[] args) { //Create Employees var bill = new Employee { Name = "Bill Gates", Report = new List<Employee>{ new Employee {Name = "Sam"}, new Employee {Name = "Fred", Report = new List<Employee>{ new Employee{Name = "Alice"} } }, new Employee {Name = "Jane"} } }; DisplayOrgChart(bill); Console.ReadLine(); }