public void Visit(Evento evento) { int numCoordinatoriSettore; foreach (Settore settore in evento.SettoriAperti) { numCoordinatoriSettore = evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Coordinatore")).Count; if (numCoordinatoriSettore < MinimoCoordinatori) { throw new ViolatedRuleException(MinimoCoordinatori - numCoordinatoriSettore, String.Format("Settore {0} viola la regola di numero minimo di Coordinatori per la mancanza di {1} Coordinatore", settore.Nome, MinimoCoordinatori - numCoordinatoriSettore)); } } }
public void Visit(Evento evento) { int nas; int numStewardSettore; foreach (Settore settore in evento.SettoriAperti) { nas = (int)Math.Ceiling((settore.GetCapienzaInData(evento.DataInizio, Impianto.GetInstance()) / 250.0) * (1 + (evento.GradoRischio / 10.0))); numStewardSettore = (evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Steward Corta")).Count + evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Steward Lunga")).Count); if (numStewardSettore < nas) { throw new ViolatedRuleException(nas - numStewardSettore, String.Format("Settore {0} viola la regola di numero minimo di Steward per la mancanza di {1} Steward", settore.Nome, nas - numStewardSettore)); } } }
public void Visit(Evento evento) { int minimoCapiUnita; int numCapiUnitaSettore; foreach (Settore settore in evento.SettoriAperti) { minimoCapiUnita = (int)Math.Ceiling((evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Steward Lunga")).Count + evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Steward Corta")).Count) / 10.0); numCapiUnitaSettore = evento.GetAssegnamentiSettore(settore).GetAddetti(MansioneFactory.GetMansione("Capo Unità")).Count; if (numCapiUnitaSettore < minimoCapiUnita) { throw new ViolatedRuleException(minimoCapiUnita - numCapiUnitaSettore, String.Format("Settore {0} viola la regola di numero minimo di Capi Unita per la mancanza di {1} Capo Unita", settore.Nome, minimoCapiUnita - numCapiUnitaSettore)); } } }