Пример #1
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);
        }
Пример #2
0
 public Sede Map(Distaccamento distaccamento) => new Sede(
     distaccamento.CodSede,
     distaccamento.DescDistaccamento,
     distaccamento.Indirizzo,
     distaccamento.Coordinate,
     "",
     "",
     "",
     "",
     "");
Пример #3
0
        private Squadra MapSqaudra(SquadraFake squadraFake, string CodSede)
        {
            Squadra.StatoSquadra Stato;

            switch (squadraFake.Stato)
            {
            case "L": Stato = Squadra.StatoSquadra.InSede; break;

            case "A": Stato = Squadra.StatoSquadra.SulPosto; break;

            case "R": Stato = Squadra.StatoSquadra.InRientro; break;

            default: Stato = Squadra.StatoSquadra.InSede; break;
            }

            var distaccamento = new Distaccamento();

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

            List <string>     ListaCodiciFiscaliComponentiSquadra = new List <string>();
            List <Componente> ComponentiSquadra = new List <Componente>();

            foreach (ComponenteSquadraFake componenteFake in squadraFake.ComponentiSquadra)
            {
                PersonaleVVF pVVf = _getPersonaleByCF.Get(componenteFake.CodiceFiscale).Result;

                Componente componente = new Componente(componenteFake.DescrizioneQualificaLunga,
                                                       pVVf.Nominativo, componenteFake.Tooltip, componenteFake.CapoPartenza, componenteFake.Autista, componenteFake.Rimpiazzo)
                {
                    CodiceFiscale   = pVVf.CodFiscale,
                    OrarioFine      = componenteFake.OrarioFine,
                    OrarioInizio    = componenteFake.OrarioInizio,
                    Telefono        = componenteFake.Telefono,
                    TecnicoGuardia1 = componenteFake.TecnicoGuardia1,
                    TecnicoGuardia2 = componenteFake.TecnicoGuardia2,
                    FunGuardia      = componenteFake.FunGuardia,
                    CapoTurno       = componenteFake.CapoTurno
                };
                ComponentiSquadra.Add(componente);
                ListaCodiciFiscaliComponentiSquadra.Add(pVVf.CodFiscale);
            }

            Squadra s = new Squadra(squadraFake.NomeSquadra, Stato, ComponentiSquadra, sedeDistaccamento);

            s.Id     = squadraFake.CodiceSquadra;
            s.Codice = squadraFake.CodiceSquadra;
            s.ListaCodiciFiscaliComponentiSquadra = ListaCodiciFiscaliComponentiSquadra;
            return(s);
        }
Пример #4
0
        public static List <Distaccamento> Map(List <ListaSedi> listaSedi)
        {
            List <Distaccamento> listaDistaccamenti = new List <Distaccamento>();

            foreach (var sede in listaSedi)
            {
                Distaccamento distaccamento = new Distaccamento()
                {
                    Id = sede.codProv + "." + sede.codFiglio_TC.ToString(),
                    CodDistaccamento  = sede.codFiglio_TC,
                    CodSede           = sede.codProv,
                    Coordinate        = new API.Models.Classi.Condivise.Coordinate(sede.latitudine, sede.longitudine),
                    DescDistaccamento = sede.sede
                };

                listaDistaccamenti.Add(distaccamento);
            }
            return(listaDistaccamenti);
        }
Пример #5
0
        private List <Distaccamento> MapOraInMongo(List <ORADistaccamenti> elencoDistaccamenti)
        {
            List <Distaccamento> ListaDistaccamenti = new List <Distaccamento>();

            foreach (ORADistaccamenti OraDistaccamento in elencoDistaccamenti)
            {
                Distaccamento distaccamento = new Distaccamento()
                {
                    Cap = OraDistaccamento.CAP,
                    CodDistaccamento  = OraDistaccamento.CODDISTAC,
                    CodSede           = OraDistaccamento.CODSEDE,
                    DescDistaccamento = OraDistaccamento.DESCDISTAC,
                    Indirizzo         = OraDistaccamento.INDIRIZZO,
                    Coordinate        = new API.Models.Classi.Condivise.Coordinate(Convert.ToDouble(OraDistaccamento.X), Convert.ToDouble(OraDistaccamento.Y))
                };

                ListaDistaccamenti.Add(distaccamento);
            }

            return(ListaDistaccamenti);
        }
Пример #6
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);
        }
Пример #7
0
        private async Task <List <Distaccamento> > GetListaDistaccamentiPerComando(string CodComando)
        {
            List <Distaccamento> listaDistaccamenti = new List <Distaccamento>();

            if (!_memoryCache.TryGetValue($"Distaccamenti_{CodComando}", out listaDistaccamenti))
            {
                List <Distaccamento> listaDistaccamentiAppo = new List <Distaccamento>();
                _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("test");
                var responsePadre = await _client.GetAsync($"{_configuration.GetSection("UrlExternalApi").GetSection("InfoSedeApiUtenteComune").Value}/GetInfoSede?codSede={CodComando}").ConfigureAwait(false);

                responsePadre.EnsureSuccessStatusCode();
                using HttpContent contentPadre = responsePadre.Content;
                string dataPadre = await contentPadre.ReadAsStringAsync().ConfigureAwait(false);

                var DistaccametoUCPadre = JsonConvert.DeserializeObject <DistaccamentoUC>(dataPadre);

                if (DistaccametoUCPadre != null)
                {
                    Distaccamento distaccamento = new Distaccamento();
                    if (DistaccametoUCPadre.CodDistaccamento.Equals("0"))
                    {
                        DistaccametoUCPadre.CodDistaccamento = "1000";
                    }
                    distaccamento = _mapper.Map(DistaccametoUCPadre);
                    listaDistaccamentiAppo.Add(distaccamento);
                }

                _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("test");
                var response = await _client.GetAsync($"{_configuration.GetSection("UrlExternalApi").GetSection("InfoSedeApiUtenteComune").Value}/GetChildSede?codSede={CodComando}").ConfigureAwait(false);

                response.EnsureSuccessStatusCode();
                using HttpContent content = response.Content;
                string data = await content.ReadAsStringAsync().ConfigureAwait(false);

                var ListaDistaccametiUC = JsonConvert.DeserializeObject <List <DistaccamentoUC> >(data);

                foreach (var dist in ListaDistaccametiUC)
                {
                    Distaccamento distaccamento = new Distaccamento();
                    if (dist.CodDistaccamento.Equals("0"))
                    {
                        dist.CodDistaccamento = "1000";
                    }

                    distaccamento = _mapper.Map(dist);
                    listaDistaccamentiAppo.Add(distaccamento);
                }

                listaDistaccamenti = listaDistaccamentiAppo;
                var cacheEntryOptions = new MemoryCacheEntryOptions().SetSlidingExpiration(TimeSpan.FromHours(8));
                _memoryCache.Set($"Distaccamenti_{CodComando}", listaDistaccamenti, cacheEntryOptions);

                return(listaDistaccamenti);
            }
            else
            {
                return(listaDistaccamenti);
            }

            //throw new NotImplementedException();
        }
Пример #8
0
        private List <Squadra> MapListaSquadreOraInMongoDB(List <ORASquadre> ListaSquadreOracle, List <ORAPersonaleSquadre> ListaPersonaleSquadre, string CodSede)
        {
            List <Squadra>             ListaSquadre = new List <Squadra>();
            List <ORAPersonaleSquadre> ListOraPS    = new List <ORAPersonaleSquadre>();

            foreach (ORASquadre OraS in ListaSquadreOracle)
            {
                List <Distaccamento> distaccamenti = _getListaDistaccamentiByCodiceSede.GetListaDistaccamenti(CodSede);
                var distaccamentoCoordinate        = distaccamenti.Find(x => x.CodDistaccamento.Equals(Decimal.ToInt32(OraS.COD_DISTACCAMENTO)));

                var distaccamento = new Distaccamento();
                distaccamento = _getDistaccamentoByCodiceSedeUC.Get(CodSede + "." + OraS.COD_DISTACCAMENTO.ToString()).Result;
                Sede sedeDistaccamento;
                if (distaccamento != null)
                {
                    sedeDistaccamento = new Sede(CodSede.ToString() + "." + distaccamento.CodDistaccamento.ToString(), distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamentoCoordinate.Coordinate, "", "", "", "", "");
                    Squadra.StatoSquadra Stato;

                    switch (OraS.STATO.ToString())
                    {
                    case "L": Stato = Squadra.StatoSquadra.InSede; break;

                    case "A": Stato = Squadra.StatoSquadra.SulPosto; break;

                    case "R": Stato = Squadra.StatoSquadra.InRientro; break;

                    default: Stato = Squadra.StatoSquadra.InSede; break;
                    }

                    Stato = Squadra.StatoSquadra.InSede;

                    List <Componente> ComponentiSquadra = new List <Componente>();
                    List <string>     ListaCodiciFiscaliComponentiSquadra = new List <string>();
                    ListOraPS = ListaPersonaleSquadre.FindAll(x => x.COD_SQUADRA.Equals(OraS.COD_SQUADRA));
                    if (ListOraPS.Count > 0)
                    //if (!istOraPS.Any())
                    {
                        foreach (ORAPersonaleSquadre p in ListOraPS)
                        {
                            PersonaleVVF pVVf = _getPersonaleByCF.Get(p.MATDIP, CodSede).Result;

                            bool capoPartenza = false; bool autista = false;
                            if (p.FLAG_CAPO_SQUADRA.Equals("S"))
                            {
                                capoPartenza = true;
                            }
                            if (p.AUTISTA.Equals("S"))
                            {
                                autista = true;
                            }
                            Componente c = new Componente(p.QUALIFICA_ABBREV, pVVf.Nominativo, pVVf.Nominativo, capoPartenza, autista, false)
                            {
                                CodiceFiscale = pVVf.CodFiscale,
                            };
                            if (p.ORA_INIZIO.HasValue)
                            {
                                c.OrarioInizio = (DateTime)p.ORA_INIZIO;
                            }
                            if (p.ORA_FINE.HasValue)
                            {
                                c.OrarioInizio = (DateTime)p.ORA_FINE;
                            }

                            ComponentiSquadra.Add(c);
                            ListaCodiciFiscaliComponentiSquadra.Add(p.MATDIP);
                        }
                    }
                    Squadra squadra = new Squadra(OraS.SIGLA, Stato, ComponentiSquadra, sedeDistaccamento);
                    squadra.Id = OraS.COD_SQUADRA.ToString();

                    squadra.ListaCodiciFiscaliComponentiSquadra = ListaCodiciFiscaliComponentiSquadra;
                    ListaSquadre.Add(squadra);
                }
                else
                {
                    //Se il distaccamento è vuoto non viene aggiunta la squadra
                }
            }

            return(ListaSquadre);
        }