I have a false application in which an inheritance chain is like
Employee,Manager,Presidentetc.
Employee class looks like
class Employee
{
public int EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime HireDate { get; set; }
public Employee()
{
}
}
and the Manager class looks like
class Manager : Employee
{
private List<Employee> employeesManaged = new List<Employee>();
public List<Employee> EmployeesManaged
{
get { return employeesManaged; }
set { employeesManaged = value; }
}
}
I would like to write a method that finds a manager who manages the majority of employees (whose EmployeesManaged.Count property is the largest). I currently have two problems.
I think the first problem is most relevant. If there were 1000 Employee objects, how could I get around adding each of them to the list?
public static Manager GetBestManager(List<Manager> managerList)
{
Manager m = managerList.Select(x => x.EmployeesManaged).Max();
}
My main method
Employee e = new Employee();
e.EmployeeId = 101;
e.FirstName = "Tom";
e.LastName = "Jones";
e.HireDate = DateTime.Now.Subtract(TimeSpan.FromDays(40));
Employee e2 = new Employee();
e2.EmployeeId = 102;
Employee e3 = new Employee();
e3.EmployeeId = 103;
Manager m = new Manager();
m.EmployeeId = 201;
m.EmployeesManaged.Add(e);
m.EmployeesManaged.Add(e2);
Manager m2 = new Manager();
m2.EmployeesManaged.Add(e3);
List<Manager> mList = new List<Manager>();
mList.Add(m);
mList.Add(m2);
Manager.GetBestManager(mList);
" Employee to Manager