public void RemoveStaff(object sender, EmployeeLayOffEventArgs e) { if ((sender is Employee E) && (Staff.Contains(E))) { Staff.Remove(E); Console.WriteLine($"Staff {E} is removed because of {e.Cause}"); } }
public void RemoveMember(object sender, EmployeeLayOffEventArgs e) { if ((sender is Employee E) && (Members.Contains(E)) && (e.Cause == EmployeeLayOff.VacationLimit)) { Members.Remove(E); Console.WriteLine($"Member {E} is removed because of {e.Cause}"); } }
protected virtual void OnLayOff(EmployeeLayOffEventArgs e) { LayOff?.Invoke(this, e); }