public async Task <IActionResult> Post(FiltriComposizionePartenza filtri) { var headerValues = Request.Headers["HubConnectionId"]; string ConId = headerValues.FirstOrDefault(); var query = new ComposizioneSquadreQuery() { Filtro = filtri }; if (ModelState.IsValid) { try { List <ComposizioneSquadre> composizioneSquadre = new List <ComposizioneSquadre>(); composizioneSquadre = handler.Handle(query).ComposizioneSquadre; await _NotificationHub.Clients.Client(ConId).SendAsync("NotifyGetComposizioneSquadre", composizioneSquadre); return(Ok()); } catch { return(BadRequest()); } } else { return(BadRequest()); } }
public async Task <IActionResult> Post(FiltriComposizionePartenza filtri) { var query = new ComposizioneSquadreQuery() { Filtro = filtri }; if (ModelState.IsValid) { try { List <ComposizioneSquadre> composizioneSquadre = handler.Handle(query).ComposizioneSquadre; return(Ok()); } catch (Exception ex) { if (ex.Message.Contains(Costanti.UtenteNonAutorizzato)) { return(StatusCode(403, Costanti.UtenteNonAutorizzato)); } else if (ex.Message.Contains("404")) { return(StatusCode(404, "Servizio non raggiungibile. Riprovare più tardi")); } else { return(BadRequest()); } } } else { return(BadRequest()); } }
/// <summary> /// Query che estrae i valori dei Box presenti in Home Page /// </summary> /// <param name="query">Filtri utilizzati per l'estrazione</param> /// <returns>Elenco dei mezzi disponibili</returns> public ComposizionePartenzaAvanzataResult Handle(ComposizionePartenzaAvanzataQuery query) { Log.Debug("Inizio elaborazione Composizione partenza avanzata Handler"); var composizioneMezziquery = new ComposizioneMezziQuery { Filtro = query.Filtro, CodiceSede = query.CodiceSede }; var composizioneSquadreQuery = new ComposizioneSquadreQuery { Filtro = query.Filtro, CodiceSede = query.CodiceSede }; var composizioneAvanzata = new Classi.Composizione.ComposizionePartenzaAvanzata() { ComposizioneMezzi = this._composizioneMezzihandler.Handle(composizioneMezziquery).ComposizioneMezzi, ComposizioneSquadre = this._composizioneSquadrehandler.Handle(composizioneSquadreQuery).ComposizioneSquadre, }; Log.Debug("Fine elaborazione Composizione partenza avanzata Handler"); return(new ComposizionePartenzaAvanzataResult() { ComposizionePartenzaAvanzata = composizioneAvanzata }); }
public List <ComposizioneSquadre> Get(ComposizioneSquadreQuery query) { var listaSedi = new List <string> { query.CodiceSede }; var listaSquadre = _getSquadre.Get(listaSedi).Result; var statiOperativi = _getStatoSquadre.Get(listaSedi); var composizioneSquadre = new List <ComposizioneSquadre>(); foreach (Squadra s in listaSquadre) { if (statiOperativi.Exists(x => x.IdSquadra.Equals(s.Id))) { s.Stato = MappaStatoSquadraDaStatoMezzo.MappaStato(statiOperativi.Find(x => x.IdSquadra.Equals(s.Id)).StatoSquadra); s.IndiceOrdinamento = -200; } else { s.Stato = Squadra.StatoSquadra.InSede; } var c = new ComposizioneSquadre { Squadra = s, Id = s.Id }; composizioneSquadre.Add(c); } return(composizioneSquadre.OrderByDescending(x => x.Squadra.IndiceOrdinamento).ToList()); }
public ComposizioneSquadreResult GetMarkerFromId(FiltriComposizionePartenza filtri) { var query = new ComposizioneSquadreQuery() { Filtro = filtri }; return(handler.Handle(query)); }
public ComposizioneSquadreResult GetMarkerSquadreFromId(FiltriComposizionePartenza filtro) { var squadreQuery = new ComposizioneSquadreQuery() { Filtro = filtro }; return(_squadreHandler.Handle(squadreQuery)); }
public List <ComposizioneSquadre> Get(ComposizioneSquadreQuery query) { var filepath = CostantiJson.SquadreComposizione; string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } var composizioneSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(json); return(composizioneSquadre.Where(c => c.Squadra.Distaccamento.Codice.Split(".")[0].Equals(query.CodiceSede.Split(".")[0])).ToList()); }
public List <ComposizioneSquadre> Get(ComposizioneSquadreQuery query) { var filepath = CostantiJson.SquadreComposizione; string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } var composizioneSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(json); return(composizioneSquadre); }
public List <ComposizioneSquadre> Get(ComposizioneSquadreQuery query) { List <string> ListaSedi = new List <string>(); ListaSedi.Add(query.CodiceSede); var ListaSquadre = _getSquadre.Get(ListaSedi).Result; var composizioneSquadre = new List <ComposizioneSquadre>(); foreach (Squadra s in ListaSquadre) { ComposizioneSquadre c = new ComposizioneSquadre(); c.Squadra = s; c.Id = s.Id; composizioneSquadre.Add(c); } return(composizioneSquadre); }
public BoxPersonale Get(string[] codiciSede) { var personale = new BoxPersonale(); var numeroComponenti = 0; var listaFunzionari = new List <Componente>(); var listaSquadreComposizione = new List <ComposizioneSquadre>(); foreach (var Codsede in codiciSede) { ComposizioneSquadreQuery query = new ComposizioneSquadreQuery(); query.CodiceSede = Codsede; listaSquadreComposizione.AddRange(_getComposizioneSquadre.Get(query)); } personale.SquadreAssegnate = listaSquadreComposizione.Count(x => x.Squadra.Stato == Squadra.StatoSquadra.InViaggio) + listaSquadreComposizione.Count(x => x.Squadra.Stato == Squadra.StatoSquadra.InUscita) + listaSquadreComposizione.Count(x => x.Squadra.Stato == Squadra.StatoSquadra.SulPosto) + listaSquadreComposizione.Count(x => x.Squadra.Stato == Squadra.StatoSquadra.InRientro); personale.SquadreServizio = listaSquadreComposizione.Count; foreach (var partenza in listaSquadreComposizione) { numeroComponenti += partenza.Squadra.Componenti.Count; foreach (var componente in partenza.Squadra.Componenti) { if (componente.TecnicoGuardia1 || componente.TecnicoGuardia2 || componente.CapoTurno || componente.FunGuardia) { listaFunzionari.Add(componente); } } } personale.PersonaleTotale = numeroComponenti; personale.Funzionari = listaFunzionari; return(personale); }
/// <summary> /// Query che estrae i valori dei Box presenti in Home Page /// </summary> /// <param name="query">Filtri utilizzati per l'estrazione</param> /// <returns>Elenco dei mezzi disponibili</returns> public ComposizionePartenzaAvanzataResult Handle(ComposizionePartenzaAvanzataQuery query) { var composizioneMezziquery = new ComposizioneMezziQuery { Filtro = query.Filtro, CodiceSede = query.CodiceSede }; var composizioneSquadreQuery = new ComposizioneSquadreQuery { Filtro = query.Filtro }; var composizioneAvanzata = new Classi.Composizione.ComposizionePartenzaAvanzata() { ComposizioneMezzi = this._composizioneMezzihandler.Handle(composizioneMezziquery).ComposizioneMezzi, ComposizioneSquadre = this._composizioneSquadrehandler.Handle(composizioneSquadreQuery).ComposizioneSquadre, }; return(new ComposizionePartenzaAvanzataResult() { ComposizionePartenzaAvanzata = composizioneAvanzata }); }
public async Task <IActionResult> Post(FiltriComposizionePartenza filtri) { var query = new ComposizioneSquadreQuery() { Filtro = filtri }; if (ModelState.IsValid) { try { List <ComposizioneSquadre> composizioneSquadre = handler.Handle(query).ComposizioneSquadre; return(Ok()); } catch { return(BadRequest()); } } else { return(BadRequest()); } }
public List <ComposizioneSquadre> Get(ComposizioneSquadreQuery query) { //TODO PARTE CHIAMATA DB //TODO DA MODIFICARE CON LA CONNESSIONE AL DB PER IL REPERIMENTO DEI DATI DEFINITIVI //DATI FAKE - ORA LI LEGGO DA FILE string filepath = CostantiJson.SquadreComposizione; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } List <ComposizioneMezzi> composizioneMezzi = new List <ComposizioneMezzi>(); ComposizioneMezzi mezzo = new ComposizioneMezzi(); var codiceDistaccamento = ""; List <ComposizioneSquadre> composizioneSquadre = JsonConvert.DeserializeObject <List <ComposizioneSquadre> >(json); string[] generiMezzi = new string[50]; string[] statiMezzi = new string[50]; API.Models.Classi.Filtri.Filtri filtri = new API.Models.Classi.Filtri.Filtri(); string pathFiltri = CostantiJson.Filtri; string jsonFiltri; using (StreamReader r = new StreamReader(pathFiltri)) { jsonFiltri = r.ReadToEnd(); } filtri = JsonConvert.DeserializeObject <API.Models.Classi.Filtri.Filtri>(jsonFiltri); if ((query.Filtro.CodiceDistaccamento?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceDistaccamento[0])) || (!string.IsNullOrEmpty(query.Filtro.CodiceMezzo) && !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 (!string.IsNullOrEmpty(query.Filtro.CodiceMezzo) && !string.IsNullOrEmpty(query.Filtro.CodiceMezzo)) { string path = CostantiJson.MezziComposizione; string jsonMezzi; using (StreamReader r = new StreamReader(path)) { jsonMezzi = r.ReadToEnd(); } composizioneMezzi = JsonConvert.DeserializeObject <List <ComposizioneMezzi> >(jsonMezzi); mezzo = composizioneMezzi.Find(x => x.Mezzo.Codice == query.Filtro.CodiceMezzo); if (mezzo != null) { 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(); if (!statiMezzi.Any(mezzo.Mezzo.Stato.Equals)) { mezzo = null; composizioneSquadre = null; } } if (query.Filtro.CodiceDistaccamento?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceDistaccamento[0])) { if (!query.Filtro.CodiceDistaccamento.Any(mezzo.Mezzo.Distaccamento.Codice.Equals)) { mezzo = null; composizioneSquadre = null; } } 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(); if (!generiMezzi.Any(mezzo.Mezzo.Genere.Equals)) { mezzo = null; composizioneSquadre = null; } } codiceDistaccamento = mezzo.Mezzo.Distaccamento.Codice; if (mezzo.Mezzo.IdRichiesta != null) { GetRichiestaById getRichiesta = new GetRichiestaById(); RichiestaAssistenza richiesta = getRichiesta.Get(mezzo.Mezzo.IdRichiesta); var ListaSquadre = richiesta.Partenze.Where(x => x.Partenza.Mezzo.Codice.Equals(mezzo.Id)).Select(x => x.Partenza.Squadre); composizioneSquadre = composizioneSquadre.Where(x => ListaSquadre.Any(x.Squadra.Equals)).ToList(); } else { composizioneSquadre = composizioneSquadre.Where(x => x.Squadra.Distaccamento.Codice == codiceDistaccamento).ToList(); } } } if (query.Filtro.CodiceDistaccamento?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceDistaccamento[0])) { composizioneSquadre = composizioneSquadre.Where(x => (query.Filtro.CodiceDistaccamento.Any(x.Squadra.Distaccamento.Codice.Equals))).ToList(); } if (query.Filtro.CodiceSquadra?.Length > 0 && !string.IsNullOrEmpty(query.Filtro.CodiceSquadra[0])) { composizioneSquadre = composizioneSquadre.Where(x => (query.Filtro.CodiceSquadra.Any(x.Squadra.Id.Equals))).ToList(); } return(composizioneSquadre); } else { return(composizioneSquadre); } }