// Aggiunge la persona passata come parametro al dizionario, associandogli la mansione fornita public void AddAssegnamento(IPersonale persona, Mansione mansione) { if (persona == null || mansione == null || Assegnamento.ContainsKey(persona) || persona.Qualifica < mansione.Incarico) { throw new ArgumentException("persona == null, mansione == null || Alla persona e' gia' stata assegnata una mansione || Persona non abbastanza qualificata per la mansione"); } else { Assegnamento[persona] = mansione; } }
public override bool Equals(object obj) { if ((obj == null) || !this.GetType().Equals(obj.GetType())) { return(false); } else { Mansione m = (Mansione)obj; return(Incarico == m.Incarico && Servizio == m.Servizio); } }
//Restituisce tutti gli addetti a cui è stata assegnata la mansione passata come argomento public List <IPersonale> GetAddetti(Mansione mansione) { List <IPersonale> lista = new List <IPersonale>(); foreach (IPersonale persona in Assegnamento.Keys) { if (Assegnamento[persona].Equals(mansione)) { lista.Add(persona); } } return(lista); }
// Dato un settore, una persona e una mansione, inserisce l'assegnazione nel settore public void AddPersonaleSettore(ISettore settore, IPersonale persona, Mansione mansione) { if (settore == null || persona == null || mansione == null || !SettoriAperti.Contains(settore)) { throw new ArgumentException("settore == null || persona == null || mansione == null || Settore passato non aperto"); } foreach (Assegnamenti assegnamento in DisposizionePersonale.Values.ToList()) { if (assegnamento.GetAssegnamento(persona) != null) { throw new ArgumentException("La persona è gia' stata assegnata in un altro settore"); } } DisposizionePersonale[settore].AddAssegnamento(persona, mansione); }
private void SaveMansione(Mansione mansione) { _writer.WriteAttributeString("Incarico", mansione.Incarico.ToString()); _writer.WriteAttributeString("Servizio", mansione.Servizio.ToString()); }