public BoxMezzi Get(string codiceSede) { var mapper = new MapFromFlottaToMezziMarker(); var mezzi = new BoxMezzi(); var filepath = CostantiJson.FlottaMezzi; string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } var flottaMezzi = JsonConvert.DeserializeObject <List <MapperMezziFromGeoFleet> >(json); var listaMezzi = mapper.MappaFlottaMezziSuMezzo(flottaMezzi).FindAll(x => x.Distaccamento.Codice.Equals(codiceSede)); mezzi.InSede = listaMezzi.Where(x => x.Stato == Costanti.MezzoInSede) .Select(x => x.Stato) .Count(); mezzi.InViaggio = listaMezzi.Where(x => x.Stato == Costanti.MezzoInViaggio) .Select(x => x.Stato) .Count(); mezzi.InRientro = listaMezzi.Where(x => x.Stato == Costanti.MezzoInRientro) .Select(x => x.Stato) .Count(); mezzi.SulPosto = listaMezzi.Where(x => x.Stato == Costanti.MezzoSulPosto) .Select(x => x.Stato) .Count(); mezzi.Istituto = listaMezzi.Where(x => x.Stato == Costanti.MezzoIstituto) .Select(x => x.Stato) .Count(); mezzi.InServizio = mezzi.InSede + mezzi.InRientro + mezzi.SulPosto + mezzi.Istituto + mezzi.InViaggio; return(mezzi); }
public List <MezzoMarker> GetListaMezziMarker(AreaMappa filtroAreaMappa) { var mapper = new MapFromFlottaToMezziMarker(); var listaMezziFilter = new List <MezzoMarker>(); string filepath = CostantiJson.FlottaMezzi; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } try { var flottaMezzi = JsonConvert.DeserializeObject <List <MapperMezziFromGeoFleet> >(json); var listaMezzi = mapper.MappaFlottaMezziSuMezziMarker(flottaMezzi); if (filtroAreaMappa == null) { return(listaMezzi); } listaMezziFilter.AddRange(listaMezzi.Where(mezzo => (mezzo.Coordinate.Latitudine >= filtroAreaMappa.BottomLeft.Latitudine) && (mezzo.Coordinate.Latitudine <= filtroAreaMappa.TopRight.Latitudine) && ((mezzo.Coordinate.Longitudine >= filtroAreaMappa.BottomLeft.Longitudine) && (mezzo.Coordinate.Longitudine <= filtroAreaMappa.TopRight.Longitudine)))); return(listaMezziFilter); } catch (Exception ex) { return(null); } }
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); }
public List <ComposizioneMezzi> Get(ComposizioneMezziQuery query) { MapFromFlottaToMezziMarker mapper = new MapFromFlottaToMezziMarker(); List <MezzoMarker> ListaMezzi = new List <MezzoMarker>(); var filepath = CostantiJson.FlottaMezzi; string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } List <MapperMezziFromGeoFleet> FlottaMezzi = JsonConvert.DeserializeObject <List <MapperMezziFromGeoFleet> >(json); ListaMezzi = mapper.MappaFlottaMezziSuMezziMarker(FlottaMezzi).Where(x => x.Mezzo.Distaccamento.Codice == query.CodiceSede).ToList(); List <ComposizioneMezzi> composizioneMezzi = GeneraListaComposizioneMezzi(ListaMezzi); string[] generiMezzi; string[] statiMezzi; string codiceDistaccamento; if ((query.Filtro.CodiceDistaccamento?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceDistaccamento[0])) || (query.Filtro.CodiceMezzo?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceMezzo)) || ((query.Filtro.CodiceSquadra?.Length > 0) && !string.IsNullOrEmpty(query.Filtro.CodiceSquadra[0])) || (query.Filtro.CodiceStatoMezzo?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceStatoMezzo[0])) || (query.Filtro.CodiceTipoMezzo?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceTipoMezzo[0]))) { if (query.Filtro.CodiceSquadra?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceSquadra[0])) { var path = CostantiJson.SquadreComposizione; string jsonSquadre; using (var r = new StreamReader(path)) { jsonSquadre = r.ReadToEnd(); } var composizioneSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(jsonSquadre); var squadra = composizioneSquadre.Find(x => query.Filtro.CodiceSquadra.Any(x.Squadra.Id.Equals)); if (squadra != null) { codiceDistaccamento = squadra.Squadra.Distaccamento.Codice; composizioneMezzi = composizioneMezzi.Where(x => (x.Mezzo.Distaccamento.Codice == codiceDistaccamento)).ToList(); } } var pathFiltri = CostantiJson.Filtri; string jsonFiltri; using (var r = new StreamReader(pathFiltri)) { jsonFiltri = r.ReadToEnd(); } var filtri = JsonConvert.DeserializeObject <API.Models.Classi.Filtri.Filtri>(jsonFiltri); if (query.Filtro.CodiceDistaccamento?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceDistaccamento[0])) { composizioneMezzi = composizioneMezzi.Where(x => query.Filtro.CodiceDistaccamento.Any(x.Mezzo.Distaccamento.Codice.Equals)).ToList(); } if (query.Filtro.CodiceStatoMezzo?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceStatoMezzo[0])) { statiMezzi = filtri.Stati.Where(x => query.Filtro.CodiceStatoMezzo.Any(x.Id.Equals)).Select(x => x.Descrizione).ToArray(); composizioneMezzi = composizioneMezzi.Where(x => statiMezzi.Any(x.Mezzo.Stato.Equals)).ToList(); } if (query.Filtro.CodiceTipoMezzo?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceTipoMezzo[0])) { generiMezzi = filtri.GeneriMezzi.Where(x => query.Filtro.CodiceTipoMezzo.Any(x.Id.Equals)).Select(x => x.Descrizione).ToArray(); composizioneMezzi = composizioneMezzi.Where(x => generiMezzi.Any(x.Mezzo.Genere.Equals)).ToList(); } if (!string.IsNullOrEmpty(query.Filtro.CodiceMezzo)) { composizioneMezzi = composizioneMezzi.Where(x => x.Mezzo.Codice == query.Filtro.CodiceMezzo).ToList(); } var ordinamento = new OrdinamentoMezzi(); foreach (var composizione in composizioneMezzi) { composizione.IndiceOrdinamento = ordinamento.GetIndiceOrdinamento(query.Filtro.IdRichiesta, composizione, composizione.Mezzo.IdRichiesta); composizione.IdRichiesta = composizione.Mezzo.IdRichiesta; composizione.Id = composizione.Mezzo.Codice; if (composizione.IstanteScadenzaSelezione < DateTime.Now) { composizione.IstanteScadenzaSelezione = null; } } return(composizioneMezzi.OrderByDescending(x => x.IndiceOrdinamento).ToList()); } else { var ordinamento = new OrdinamentoMezzi(); foreach (var composizione in composizioneMezzi) { composizione.IndiceOrdinamento = ordinamento.GetIndiceOrdinamento(query.Filtro.IdRichiesta, composizione, composizione.Mezzo.IdRichiesta); composizione.IdRichiesta = composizione.Mezzo.IdRichiesta; composizione.Id = composizione.Mezzo.Codice; if (composizione.IstanteScadenzaSelezione < DateTime.Now) { composizione.IstanteScadenzaSelezione = null; } } return(composizioneMezzi.OrderByDescending(x => x.IndiceOrdinamento).ToList()); } }