public Employee(string name, IDirector director) { EmployeeInfo = new DAL.Entities.Employee.Employee(name); Id = EmployeeInfo.Id; _director = director; _director.AddNewSubordinate(this); EmployeesManager.AllOrdinaryEmployees.Add(Id, this); EmployeeData.AllEmployees.Add(Id, EmployeeInfo); }
public Director(string name, IDirector director, List <ISubordinate> subordinates) { EmployeeInfo = new DAL.Entities.Employee.Employee(name); Id = EmployeeInfo.Id; _director = director; _subordinates = subordinates; _director.AddNewSubordinate(this); EmployeesManager.AllDirectors.Add(Id, this); EmployeeData.AllEmployees.Add(Id, EmployeeInfo); }
public void TransferEmployeeToAnotherDirector(ISubordinate subordinate, IDirector newDirector) { if (_subordinates.Remove(subordinate)) { newDirector.AddNewSubordinate(subordinate); } else { throw new SubordinateException(); } }