Esempio n. 1
0
        public List <Partenza> GeneraListaPartenze(string CodiceSede, string codMezzo)
        {
            Bogus.Faker faker = new Bogus.Faker();

            int numeroFaker = faker.Random.Number(0, 100);

            Sede distaccamento = new Sede("1", "Tuscolano I", "Via Tuscolana 2", new Coordinate(faker.Random.Double() + 41.895, faker.Random.Double() + 12.495), "Distaccamento", null, null, "Lazio", "Roma");

            List <Componente> ListaComponentiSquadra = new List <Componente>()
            {
                new Componente("CS", "Riccardo Trionfera", "RT", true, false, false),
                new Componente("CS", "Davide Cappa", "DC", false, true, false),
                new Componente("CS", "Michele Dragonetti", "MD", false, false, false),
                new Componente("CS", "Davide Durante", "MD", false, false, false),
            };

            List <Squadra> ListaSquadre = new List <Squadra>()
            {
                new Squadra("SO115", Squadra.StatoSquadra.InViaggio, ListaComponentiSquadra, distaccamento)
            };

            Mezzo mezzo = new Mezzo(codMezzo, "APS", "Auto pompa serbatoio", "In sede", "CMOB", distaccamento, coordinate: null);

            Partenza partenza = new Partenza();

            partenza.Mezzo   = mezzo;
            partenza.Squadre = ListaSquadre;

            List <Partenza> NewPartenza = new List <Partenza>()
            {
                partenza
            };

            return(NewPartenza);
        }
Esempio n. 2
0
        private List <Mezzo> MapListaMezziOraInMongoDB(List <ORAAutomezzi> ListaMezziOracle, List <string> codiceMezzo)
        {
            List <Mezzo> ListaMezzi = new List <Mezzo>();

            foreach (var codice in codiceMezzo)
            {
                var OraM = ListaMezziOracle.Find(x => x.COD_AUTOMEZZO.Equals(codice));

                List <Distaccamento> distaccamenti = _getListaDistaccamentiByCodiceSede.GetListaDistaccamenti(OraM.COD_COMANDO);
                var d = distaccamenti.Find(x => x.CodDistaccamento.Equals(OraM.COD_DISTACCAMENTO));

                var sede = new Sede(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO, d.DescDistaccamento, d.Indirizzo, d.Coordinate, "", "", "", "", "");

                Mezzo mezzo = new Mezzo(OraM.TIPO_MEZZO + "." + OraM.TARGA,
                                        OraM.TARGA,
                                        OraM.COD_GENERE_MEZZO,
                                        GetStatoOperativoMezzo(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO,
                                                               OraM.TIPO_MEZZO + "." + OraM.TARGA, OraM.STATO),
                                        OraM.COD_DESTINAZIONE,
                                        sede,
                                        new Coordinate(1, 1))

                {
                    DescrizioneAppartenenza = OraM.COD_DESTINAZIONE,
                };

                ListaMezzi.Add(mezzo);
            }

            return(ListaMezzi);
        }
Esempio n. 3
0
        private Mezzo MapMezzo(AnagraficaMezzo anagraficaMezzo, MezzoFake mezzoFake)
        {
            var distaccamento = new Distaccamento();
            var coordinate    = new Coordinate(0, 0);

            distaccamento = _getDistaccamentoByCodiceSedeUC.Get(mezzoFake.Sede).Result;
            var sede = new Sede(mezzoFake.Sede, distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamento.Coordinate, "", "", "", "", "");

            var coordinateMezzo = _getPosizioneByCodiceMezzo.Get(anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa).Result;

            if (coordinateMezzo != null)
            {
                coordinate = new Coordinate(coordinateMezzo.Localizzazione.Lat, coordinateMezzo.Localizzazione.Lon);
            }
            else
            {
                coordinate = new Coordinate(sede.Coordinate.Latitudine, sede.Coordinate.Longitudine);
            }

            Mezzo mezzo = new Mezzo(anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa,
                                    anagraficaMezzo.Targa,
                                    anagraficaMezzo.GenereMezzo.Codice,
                                    GetStatoOperativoMezzo(anagraficaMezzo.Sede.Id, anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa, mezzoFake.Stato),
                                    mezzoFake.CodDestinazione, sede, coordinate)
            {
                DescrizioneAppartenenza = mezzoFake.DescDestinazione,
            };

            return(mezzo);
        }
        public List <Mezzo> MappaFlottaMezziSuMezzo(List <MapperMezziFromGeoFleet> flottaMezzi)
        {
            var listaMezzi = new List <Mezzo>();
            var codiceSede = "";
            var codiceTipo = "";

            foreach (var mezzoFlotta in flottaMezzi)
            {
                var statoMezzo = "";
                if (mezzoFlotta.infoSO115 != null)
                {
                    statoMezzo = mezzoFlotta.infoSO115.stato;
                }
                else
                {
                    statoMezzo = "0";
                }

                if (mezzoFlotta.classiMezzo[2].Length == 2)
                {
                    codiceTipo = mezzoFlotta.classiMezzo[2];
                }
                else if (mezzoFlotta.classiMezzo[0].Length == 2)
                {
                    codiceTipo = mezzoFlotta.classiMezzo[0];
                }
                else if (mezzoFlotta.classiMezzo[1].Length == 2)
                {
                    codiceTipo = mezzoFlotta.classiMezzo[1];
                }

                if (mezzoFlotta.classiMezzo[2].Contains(":"))
                {
                    codiceSede = mezzoFlotta.classiMezzo[2];
                }
                else if (mezzoFlotta.classiMezzo[0].Contains(":"))
                {
                    codiceSede = mezzoFlotta.classiMezzo[0];
                }
                else if (mezzoFlotta.classiMezzo[1].Contains(":"))
                {
                    codiceSede = mezzoFlotta.classiMezzo[1];
                }

                if (statoMezzo == "6" || statoMezzo == "7" || statoMezzo == "0")
                {
                    continue;
                }

                var mezzo = new Mezzo(mezzoFlotta.codiceMezzo, mezzoFlotta.codiceMezzo, codiceTipo,
                                      GetStatoMezzoByCodiceMezzo(statoMezzo), 0, GetSedeDiAppartenenza(codiceSede), CodificaLocalizzazione(mezzoFlotta.Localizzazione));
                listaMezzi.Add(mezzo);
            }

            return(listaMezzi);
        }
Esempio n. 5
0
        private Mezzo MapMezzo(MezzoDTO mezzoDto)
        {
            var coordinate = new Coordinate(0, 0);

            var sede = new Sede(mezzoDto.CodiceDistaccamento, null, null, null, "", "", "", "", "");

            var mezzo = new Mezzo(mezzoDto.CodiceMezzo, mezzoDto.Descrizione, mezzoDto.Genere,
                                  GetStatoOperativoMezzo(mezzoDto.CodiceDistaccamento, mezzoDto.CodiceMezzo, mezzoDto.Movimentazione.StatoOperativo),
                                  mezzoDto.CodiceDistaccamento, sede, coordinate)
            {
                DescrizioneAppartenenza = mezzoDto.DescrizioneAppartenenza,
            };

            return(mezzo);
        }
Esempio n. 6
0
        private async Task <List <Mezzo> > GetAnagraficaMezziByTarga(List <MessaggioPosizione> listaMezziInRettangolo)
        {
            try
            {
                List <Mezzo> ListaMezzi = new List <Mezzo>();
                foreach (var mezzo in listaMezziInRettangolo)
                {
                    _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("test");

                    var targaMezzo = mezzo.CodiceMezzo.Contains(".") ? mezzo.CodiceMezzo.Split('.')[1] : mezzo.CodiceMezzo;
                    var response   = await _client.GetAsync($"{_configuration.GetSection("UrlExternalApi").GetSection("MezziApidipvvf").Value}?searchKey={targaMezzo}").ConfigureAwait(false);

                    response.EnsureSuccessStatusCode();
                    using HttpContent contentMezzo = response.Content;
                    var data = await contentMezzo.ReadAsStringAsync().ConfigureAwait(false);

                    var ListaAnagrafiche = JsonConvert.DeserializeObject <List <AnagraficaMezzo> >(data);

                    Coordinate coordinate = new Coordinate(mezzo.Localizzazione.Lat, mezzo.Localizzazione.Lon);

                    foreach (var anagrafica in ListaAnagrafiche)
                    {
                        var  sede     = _getDistaccamentoByCodiceSedeUC.Get(anagrafica.Sede.Id).Result;
                        Sede InfoSede = new Sede(sede.CodSede, sede.DescDistaccamento, sede.Indirizzo, sede.Coordinate, "", "", "", "", "");

                        Mezzo Infomezzo = new Mezzo(anagrafica.GenereMezzo.CodiceTipo + "." + anagrafica.Targa,
                                                    anagrafica.Targa,
                                                    anagrafica.GenereMezzo.Codice,
                                                    "", "", InfoSede, coordinate)
                        {
                            DescrizioneAppartenenza = sede.DescDistaccamento
                        };

                        ListaMezzi.Add(Infomezzo);
                    }
                }

                return(ListaMezzi);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Esempio n. 7
0
        /// <summary>
        ///   Il metodo della classe che mappa MezzoDTO integrando le coordinate da GeoFleet.
        /// </summary>
        /// <param name="listaMezzoDTO">Il DTO che arriva da GAC</param>
        /// <returns>Una lista di Mezzo</returns>
        public List <Mezzo> MappaMezzoDTOsuMezzo(List <MezzoDTO> listaMezzoDTO)
        {
            var listaMezzi = new List <Mezzo>();

            foreach (var mezzoDTO in listaMezzoDTO)
            {
                if (mezzoDTO.Movimentazione.StatoOperativo.Equals(Costanti.MezzoDisponibile))
                {
                    mezzoDTO.Movimentazione.StatoOperativo = Costanti.MezzoInSede;
                }
                var coordinateMezzo = _getPosizioneByCodiceMezzo.Get(mezzoDTO.CodiceMezzo).Result;
                var sede            = _getDistaccamentoByCodiceSede.Get(mezzoDTO.CodiceDistaccamento);
                if (coordinateMezzo != null)
                {
                    var coordinate = new Coordinate(coordinateMezzo.Localizzazione.Lat, coordinateMezzo.Localizzazione.Lon);
                    var mezzo      = new Mezzo(mezzoDTO.CodiceMezzo, mezzoDTO.Descrizione, mezzoDTO.Genere, mezzoDTO.Movimentazione.StatoOperativo, mezzoDTO.Appartenenza, sede, coordinate)
                    {
                        StatoEfficenza      = mezzoDTO.StatoEfficenza,
                        IstanteAcquisizione = coordinateMezzo.IstanteAcquisizione
                    };
                    if (!string.IsNullOrEmpty(mezzoDTO.Movimentazione.IdRichiesta))
                    {
                        mezzo.IdRichiesta = mezzoDTO.Movimentazione.IdRichiesta;
                    }
                    listaMezzi.Add(mezzo);
                }
                else
                {
                    var coordinate = new Coordinate(sede.Coordinate.Latitudine, sede.Coordinate.Longitudine);
                    var mezzo      = new Mezzo(mezzoDTO.CodiceMezzo, mezzoDTO.Descrizione, mezzoDTO.Genere, mezzoDTO.Movimentazione.StatoOperativo, mezzoDTO.Appartenenza, sede, coordinate)
                    {
                        StatoEfficenza      = mezzoDTO.StatoEfficenza,
                        IstanteAcquisizione = null
                    };
                    if (!string.IsNullOrEmpty(mezzoDTO.Movimentazione.IdRichiesta))
                    {
                        mezzo.IdRichiesta = mezzoDTO.Movimentazione.IdRichiesta;
                    }
                    listaMezzi.Add(mezzo);
                }
            }
            return(listaMezzi);
        }
Esempio n. 8
0
        private List <Mezzo> MapListaMezziOraInMongoDB(List <ORAAutomezzi> ListaMezziOracle)
        {
            List <Mezzo> ListaMezzi = new List <Mezzo>();

            foreach (ORAAutomezzi OraM in ListaMezziOracle)
            {
                var anagraficaMezzo = GetAnagraficaMezzo(OraM.TARGA).Result;

                var distaccamento = new Distaccamento();
                var coordinate    = new Coordinate(0, 0);
                distaccamento = _getDistaccamentoByCodiceSedeUC.Get(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO).Result;

                var sede            = new Sede(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO, distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamento.Coordinate, "", "", "", "", "");
                var coordinateMezzo = _getPosizioneByCodiceMezzo.Get(anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa).Result;
                if (coordinateMezzo != null)
                {
                    coordinate = new Coordinate(coordinateMezzo.Localizzazione.Lat, coordinateMezzo.Localizzazione.Lon);
                }
                else
                {
                    coordinate = new Coordinate(sede.Coordinate.Latitudine, sede.Coordinate.Longitudine);
                }

                Mezzo mezzo = new Mezzo(anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa,
                                        anagraficaMezzo.Targa,
                                        anagraficaMezzo.GenereMezzo.CodiceTipo,
                                        GetStatoOperativoMezzo(anagraficaMezzo.Sede.Id, anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa, OraM.STATO),
                                        OraM.COD_DESTINAZIONE,
                                        sede,
                                        coordinate)
                {
                    DescrizioneAppartenenza = OraM.COD_DESTINAZIONE,
                };

                ListaMezzi.Add(mezzo);
            }

            return(ListaMezzi);
        }
Esempio n. 9
0
        private Mezzo MapMezzoByIdOraInMongoDB(ORAAutomezzi MezzoOracle, int CodMezzo)
        {
            ORAAutomezzi         OraM          = MezzoOracle;
            List <Distaccamento> distaccamenti = _getDistaccamentoByCodSede.GetListaDistaccamenti(OraM.COD_COMANDO);
            var d    = distaccamenti.Find(x => x.CodDistaccamento.Equals(OraM.COD_DISTACCAMENTO));
            var sede = new Sede(OraM.COD_COMANDO + "." + OraM.COD_DISTACCAMENTO, d.DescDistaccamento, d.Indirizzo, d.Coordinate, "", "", "", "", "");

            Mezzo mezzo = new Mezzo
                          (
                OraM.COD_AUTOMEZZO.ToString(),
                OraM.COD_MODELLO_MEZZO,
                OraM.STATO,
                OraM.DISTACCAMENTO,
                OraM.COD_DESTINAZIONE,
                sede,
                new Coordinate(1, 1)
                          )
            {
                Genere = OraM.COD_GENERE_MEZZO,
            };

            return(mezzo);
        }
Esempio n. 10
0
        private Mezzo MapMezzo(AnagraficaMezzo anagraficaMezzo, MezzoDTO mezzoDto)
        {
            var coordinate = new Coordinate(0, 0);
            //bool CoordinateFake = false;

            var distaccamento = _getDistaccamentoByCodiceSedeUC.Get(mezzoDto.CodiceDistaccamento).Result;

            var sede = new Sede(mezzoDto.CodiceDistaccamento,
                                distaccamento != null ? distaccamento.DescDistaccamento : "",
                                distaccamento != null ? distaccamento.Indirizzo : "",
                                distaccamento != null ? distaccamento.Coordinate : null,
                                "", "", "", "", "");

            if (anagraficaMezzo != null)
            {
                Mezzo mezzo = new Mezzo(anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa,
                                        anagraficaMezzo.Targa,
                                        anagraficaMezzo.GenereMezzo.Codice,
                                        GetStatoOperativoMezzo(anagraficaMezzo.Sede.Id, anagraficaMezzo.GenereMezzo.CodiceTipo + "." + anagraficaMezzo.Targa, mezzoDto.Movimentazione.StatoOperativo),
                                        mezzoDto.CodiceDistaccamento, sede, coordinate)
                {
                    DescrizioneAppartenenza = mezzoDto.DescrizioneAppartenenza,
                };
                return(mezzo);
            }
            else
            {
                var mezzo = new Mezzo(mezzoDto.CodiceMezzo, mezzoDto.Descrizione, mezzoDto.Genere,
                                      GetStatoOperativoMezzo(mezzoDto.CodiceDistaccamento, mezzoDto.CodiceMezzo, mezzoDto.Movimentazione.StatoOperativo),
                                      mezzoDto.CodiceDistaccamento, sede, coordinate)
                {
                    DescrizioneAppartenenza = mezzoDto.DescrizioneAppartenenza,
                };
                return(mezzo);
            }
        }