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 Sede Map(Distaccamento distaccamento) => new Sede( distaccamento.CodSede, distaccamento.DescDistaccamento, distaccamento.Indirizzo, distaccamento.Coordinate, "", "", "", "", "");
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); }
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); }
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); }
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); }
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(); }
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); }