private static void AdvancedMapping() { ExtendedEmployee emp1 = new ExtendedEmployee { FirstName = "Gosho", LastName = "Ivanov", Address = "Sofia blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 8000M }; ExtendedEmployee emp2 = new ExtendedEmployee { FirstName = "Bosho", LastName = "Ivanov", Address = "Plovdiv blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 9000M }; ExtendedEmployee emp3 = new ExtendedEmployee { FirstName = "Pesho", LastName = "Ivanov", Address = "Sofia blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 7770M }; ExtendedEmployee emp4 = new ExtendedEmployee { FirstName = "Penko", LastName = "Ivanov", Address = "Ruse blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 1000M }; ExtendedEmployee emp5 = new ExtendedEmployee { FirstName = "Vankata", LastName = "Ivanov", Address = "Varna blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 4000M }; ExtendedEmployee emp6 = new ExtendedEmployee { FirstName = "Milko", LastName = "Ivanov", Address = "Petrich blabla", IsOnHoliday = false, Birthday = new DateTime(1995, 01, 10), Salary = 500M }; emp1.Manager = emp6; emp1.Subordinates.Add(emp2); emp1.Subordinates.Add(emp3); emp1.Subordinates.Add(emp4); emp1.Subordinates.Add(emp5); emp2.Manager = emp5; emp2.Subordinates.Add(emp3); emp2.Subordinates.Add(emp4); emp3.Manager = emp4; emp3.Subordinates.Add(emp2); emp3.Subordinates.Add(emp1); emp6.Manager = emp4; emp6.Subordinates.Add(emp1); emp6.Subordinates.Add(emp2); emp6.Subordinates.Add(emp3); emp6.Subordinates.Add(emp5); List <ExtendedEmployee> employees = new List <ExtendedEmployee>(); employees.Add(emp1); employees.Add(emp2); employees.Add(emp3); employees.Add(emp4); employees.Add(emp5); employees.Add(emp6); List <ManagerDTO> managerDTos = Mapper.Map <ExtendedEmployee[], List <ManagerDTO> >(employees.ToArray()); foreach (var mDto in managerDTos) { Console.WriteLine($"{mDto.FistName} {mDto.LastName} | Employees: {mDto.SubordinatesCount}"); foreach (var emp in mDto.SubordinatesDTOs) { Console.WriteLine($" - {emp.FirstName} {emp.LastName} {emp.Salary:F2}"); } } }
private void OnDelete(ExtendedEmployee employee) { // delete the employee from the collection }