Esempio n. 1
0
 // 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;
     }
 }
Esempio n. 2
0
 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);
     }
 }
Esempio n. 3
0
        //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);
        }
Esempio n. 4
0
 // 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);
 }
Esempio n. 5
0
 private void SaveMansione(Mansione mansione)
 {
     _writer.WriteAttributeString("Incarico", mansione.Incarico.ToString());
     _writer.WriteAttributeString("Servizio", mansione.Servizio.ToString());
 }