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); }
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); }
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); }