public void ApriNuovoSettore(ISettore settore) { if (SettoriAperti.Contains(settore)) { throw new ArgumentException("Settore gia' aperto"); } SettoriAperti.Add(settore); }
public void AddAssegnamentiSettore(ISettore settore, Assegnamenti assegnamento) { if (settore == null || assegnamento == null || !SettoriAperti.Contains(settore)) { throw new ArgumentException("settore == null || assegnamento == null || Settore passato non aperto"); } else { DisposizionePersonale[settore] = assegnamento; } }
// 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); }
public override bool Equals(object obj) { if ((obj == null) || !this.GetType().Equals(obj.GetType())) { return(false); } else { Evento e = (Evento)obj; if (Nome != e.Nome || DataInizio != e.DataInizio || DataFine != e.DataFine || GradoRischio != e.GradoRischio || SettoriAperti.Count != e.SettoriAperti.Count) { return(false); } foreach (ISettore settore in e.SettoriAperti) { if (!SettoriAperti.Contains(settore)) { return(false); } } return(true); } }
public override int GetHashCode() { return(Nome.GetHashCode() ^ DataInizio.GetHashCode() ^ DataFine.GetHashCode() ^ GradoRischio.GetHashCode() ^ Durata.GetHashCode() ^ SettoriAperti.GetHashCode() ^ DisposizionePersonale.GetHashCode()); }