Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }