public IEnumerable <RichiestaAssistenza> Genera() { var getUnitaOperativaRadice = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var espandiPinNodoSuOrganigramma = new EspandiPinNodoSuOrganigramma(getUnitaOperativaRadice); var getMezziInServizioPerUnitaOperativa_Fake = new GetMezziInServizioPerUnitaOperativa_Fake(espandiPinNodoSuOrganigramma); var generatoreCoordinateIntervento = new GeneratoreCoordinateInterventoPerUO(); foreach (var codiceUo in this.codiciUnitaOperative) { var generatoreFakeRichieste = new GeneratoreRichiesteFake.GeneratoreRichieste( codiceUo, getMezziInServizioPerUnitaOperativa_Fake, DateTime.UtcNow.AddDays(this.giorniIndietro), DateTime.UtcNow, 50, 45 * 60, 15 * 60, 50 * 60, 25 * 60, new[] { 0.70f, 0.23f, 0.05f, 0.02f }, generatoreCoordinateIntervento ); var richieste = generatoreFakeRichieste.Genera(); foreach (var richiesta in richieste) { yield return(richiesta); } } }
/// <summary> /// Questo metodo utilizza la classe <see cref="GeneratoreRichieste" /> per generare una /// serie di interventi fake. /// </summary> /// <param name="args">Inutilizzato</param> private static void Main(string[] args) { ConfigureLog(); var getUnitaOperativaRadice = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var espandiPinNodoSuOrganigramma = new EspandiPinNodoSuOrganigramma(getUnitaOperativaRadice); var getMezziInServizioPerUnitaOperativa_Fake = new GetMezziInServizioPerUnitaOperativa_Fake(espandiPinNodoSuOrganigramma); var generatoreCoordinateIntervento = new GeneratoreCoordinateInterventoPerUO(); var generatoreFakeRichieste = new GeneratoreRichieste( "TO.1000", getMezziInServizioPerUnitaOperativa_Fake, DateTime.UtcNow.AddDays(-5), DateTime.UtcNow, 50, 45 * 60, 15 * 60, 50 * 60, 25 * 60, new[] { 0.70f, 0.23f, 0.05f, 0.02f }, generatoreCoordinateIntervento ); var richieste = generatoreFakeRichieste.Genera().ToArray(); Log.Debug(JsonConvert.SerializeObject(richieste)); }
public void IlComandoDiRomaHaIlDistaccamentoTuscolanoII() { var organigramma = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var radice = organigramma.Get(); var roma = radice.GetSottoAlbero().Single(uo => uo.Codice == "RM.1000"); Assert.DoesNotThrow(() => roma.GetSottoAlbero().Single(uo => uo.Codice == "RM.1008")); }
public void TuttiIDistaccamentiDiTorinoHannoCodiceCheCominciaPerTOPunto() { var organigramma = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var radice = organigramma.Get(); var lecco = radice.GetSottoAlbero().Single(uo => uo.Codice == "TO.1000"); var distaccamentiLecco = lecco.GetSottoAlbero(); var listaCodici = distaccamentiLecco.Select(uo => uo.Codice); Assert.That(listaCodici, Is.All.StartsWith("TO.")); }
public void IlComandoDiLeccoHaTreDistaccamenti() { var organigramma = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var radice = organigramma.Get(); var lecco = radice.GetSottoAlbero().Single(uo => uo.Codice == "LC.1000"); var numeroDistaccamentiLecco = lecco.GetSottoAlbero() .Where(uo => uo.Codice != "LC.1000") .Count(); Assert.That(numeroDistaccamentiLecco, Is.EqualTo(3)); }
/// <summary> /// Questo metodo utilizza la classe <see cref="GeneratoreRichieste" /> per generare una /// serie di interventi fake. /// </summary> /// <param name="args">Inutilizzato</param> private static void Main(string[] args) { ConfigureLog(); var DBContext = new DbContext("mongodb://localhost:27017", "sovvf"); var Salvataggio = new SaveRichiesta(DBContext); var getUnitaOperativaRadice = new GetUnitaOperativaRadice_Con_Dir_Com_Dist(); var espandiPinNodoSuOrganigramma = new EspandiPinNodoSuOrganigramma(getUnitaOperativaRadice); var getMezziInServizioPerUnitaOperativa_Fake = new GetMezziInServizioPerUnitaOperativa_Fake(espandiPinNodoSuOrganigramma); var generatoreCoordinateIntervento = new GeneratoreCoordinateInterventoPerUO(); var generatoreFakeRichieste = new GeneratoreRichieste( "RM.1000", getMezziInServizioPerUnitaOperativa_Fake, DateTime.UtcNow.AddDays(-5), DateTime.UtcNow, 50, 45 * 60, 15 * 60, 50 * 60, 25 * 60, new[] { 0.70f, 0.23f, 0.05f, 0.02f }, generatoreCoordinateIntervento ); var richieste = generatoreFakeRichieste.Genera().ToArray(); int indice = 00000; int anno = DateTime.Now.Year; foreach (var richiesta in richieste) { if (richiesta.Partenze.Count > 0) { int ultimeDueCifreAnno = anno % 100; int maxNumero = indice; string returnFormatString = string.Format("{0}{1}{2:D5}", richiesta.CodSOCompetente.Split('.')[0], ultimeDueCifreAnno, maxNumero); string codiceMezzo = ""; string codiceFonte = ""; if (richiesta.Eventi.ToList().Find(x => x is UscitaPartenza) != null) { codiceMezzo = ((UscitaPartenza)richiesta.Eventi.ToList().Find(x => x is UscitaPartenza)).CodiceMezzo; } if (richiesta.Eventi.ToList().Find(x => x is InizioPresaInCarico) != null) { codiceFonte = ((InizioPresaInCarico)richiesta.Eventi.ToList().Find(x => x is InizioPresaInCarico)).CodiceFonte; } if (!string.IsNullOrWhiteSpace(codiceFonte)) { richiesta.UtPresaInCarico = new List <string> { codiceFonte } } ; foreach (var evento in richiesta.Eventi) { if (evento is ComposizionePartenze) { ((ComposizionePartenze)evento).Partenza = generatoreFakeRichieste.GeneraListaPartenze(richiesta.CodSOCompetente.Split('.')[0], codiceMezzo).First(); ((ComposizionePartenze)evento).Componenti = new List <ComponentePartenza>().ToHashSet(); } } richiesta.CodRichiesta = returnFormatString; } Salvataggio.Save(richiesta); indice++; } //Log.Debug(JsonConvert.SerializeObject(richieste)); }
public GetListaSediAlberata(HttpClient client, IConfiguration configuration, GetUnitaOperativaRadice_Con_Dir_Com_Dist treeViewUnitaOperative) { this._client = client; this._configuration = configuration; this._treeViewUnitaOperative = treeViewUnitaOperative; }