/// <summary> /// il metodo restituisce una lista di mezzi in servizio associati ad una determinata sede /// </summary> /// <param name="codiceSede">il codice sede</param> /// <returns>Lista di MezziInServizio</returns> public List <MezzoInServizio> Get(string[] CodiciSede) { var listaMezzoInServizio = new List <MezzoInServizio>(); var listaCodiciSede = CodiciSede.ToList(); var codiceSedeIniziali = listaCodiciSede[0]; var mezzi = _getMezziUtilizzabili.Get(listaCodiciSede.ToHashSet().ToList()).Result; var statoMezzi = new List <StatoOperativoMezzo>(); foreach (var codsede in listaCodiciSede) { statoMezzi.AddRange(_getStatoMezzi.Get(codsede)); } foreach (var mezzo in mezzi) { var statoOperativoMezzi = statoMezzi.Find(x => x.CodiceMezzo.Equals(mezzo.Codice)); mezzo.Stato = statoOperativoMezzi != null ? statoOperativoMezzi.StatoOperativo : Costanti.MezzoInSede; mezzo.IdRichiesta = statoOperativoMezzi?.CodiceRichiesta; var mezzoMarker = new MezzoMarker() { Mezzo = mezzo, InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromIdRichiestaMezzo(mezzo.IdRichiesta) }; var mezzoInServizio = new MezzoInServizio() { Mezzo = mezzoMarker }; if (mezzo.IdRichiesta != null) { var richiesta = _getRichiestaById.GetByCodice(mezzo.IdRichiesta); if (richiesta != null) { foreach (var partenza in richiesta.Partenze) { if (partenza.Partenza.Mezzo.Codice == mezzo.Codice) { mezzoInServizio.Squadre = partenza.Partenza.Squadre; } } } } else { mezzoInServizio.Squadre = null; } listaMezzoInServizio.Add(mezzoInServizio); } return(listaMezzoInServizio); }
public List <MezzoInServizio> Get(string[] codiceSede) { var filepath = CostantiJson.Mezzo; var getRichiestaById = new GetRichiestaById(); string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } var codiceSedeIniziali = codiceSede[0]; var mezzi = JsonConvert.DeserializeObject <List <Mezzo> >(json).FindAll(x => x.Stato != Costanti.MezzoFuoriServizio); var listaMezzoInServizio = new List <MezzoInServizio>(); foreach (var mezzo in mezzi.FindAll(x => x.Distaccamento.Codice .StartsWith(codiceSedeIniziali))) { var mezzoMarker = new MezzoMarker() { Mezzo = mezzo, InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromIdRichiestaMezzo(mezzo.IdRichiesta) }; var mezzoInServizio = new MezzoInServizio { Mezzo = mezzoMarker }; if (mezzoInServizio.Mezzo.Mezzo.IdRichiesta != null) { var richiesta = getRichiestaById.GetByCodice(mezzoInServizio.Mezzo.Mezzo.IdRichiesta); foreach (var partenza in richiesta.Partenze) { if (partenza.Partenza.Mezzo.Codice == mezzoInServizio.Mezzo.Mezzo.Codice) { mezzoInServizio.Squadre = partenza.Partenza.Squadre; } } } else { mezzoInServizio.Squadre = null; } listaMezzoInServizio.Add(mezzoInServizio); } return(listaMezzoInServizio); }
/// <summary> /// il metodo restituisce una lista di mezzi in servizio associati ad una determinata sede /// </summary> /// <param name="codiceSede">il codice sede</param> /// <returns>Lista di MezziInServizio</returns> public List <MezzoInServizio> Get(string[] CodiciSede) { var mezzi = _getMezziUtilizzabili.Get(CodiciSede.ToList()); var statoMezzi = _getStatoMezzi.Get(CodiciSede); var listaMezzoInServizio = mezzi.Result.Select(mezzo => { var statoOperativoMezzi = statoMezzi.Find(x => x.CodiceMezzo.Equals(mezzo.Codice)); mezzo.Stato = statoOperativoMezzi != null ? statoOperativoMezzi.StatoOperativo : Costanti.MezzoInSede; mezzo.IdRichiesta = statoOperativoMezzi?.CodiceRichiesta; var mezzoMarker = new MezzoMarker() { Mezzo = mezzo, InfoRichiesta = _getInfoRichiesta.GetInfoRichiestaFromCodiceRichiestaMezzo(mezzo.IdRichiesta) }; var mezzoInServizio = new MezzoInServizio() { Mezzo = mezzoMarker }; if (mezzo.IdRichiesta != null) { var richiesta = _getRichiestaById.GetByCodice(mezzo.IdRichiesta); if (richiesta != null) { foreach (var partenza in richiesta.Partenze) { if (partenza.Partenza.Mezzo.Codice == mezzo.Codice) { mezzoInServizio.Squadre = partenza.Partenza.Squadre; } } } } else { mezzoInServizio.Squadre = null; } return(mezzoInServizio); }); return(listaMezzoInServizio .OrderBy(c => c.Mezzo.Mezzo.Stato == Costanti.MezzoInSede) .ToList()); }
public List <MezzoInServizio> Get(string codiceSede) { var mapper = new MapFromFlottaToMezziMarker(); var filepath = CostantiJson.FlottaMezzi; var getRichiestaById = new GetRichiestaById(); string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } var codiceSedePulito = codiceSede.Substring(0, 2); var flottaMezzi = JsonConvert.DeserializeObject <List <MapperMezziFromGeoFleet> >(json); var listaMezziMarker = mapper.MappaFlottaMezziSuMezziMarker(flottaMezzi).FindAll(x => x.Mezzo.Distaccamento.Codice.StartsWith(codiceSedePulito)); var listaMezzoInServizio = new List <MezzoInServizio>(); foreach (var mezzoMarkerIn in listaMezziMarker) { var mezzoInServizio = new MezzoInServizio { Mezzo = mezzoMarkerIn }; if (mezzoInServizio.Mezzo.Mezzo.IdRichiesta != null) { var richiesta = getRichiestaById.Get(mezzoInServizio.Mezzo.Mezzo.IdRichiesta); foreach (var partenza in richiesta.Partenze) { if (partenza.Partenza.Mezzo.Codice == mezzoInServizio.Mezzo.Mezzo.Codice) { mezzoInServizio.Squadre = partenza.Partenza.Squadre; } } } else { mezzoInServizio.Squadre = null; } listaMezzoInServizio.Add(mezzoInServizio); } return(listaMezzoInServizio); }