/// <summary> /// Il metodo accetta in firma il codice sede e recupera i mezzi utilizzabili dal servizio /// esterno Gac e aggiorna i contatori dei mezzi /// </summary> /// <param name="codiceSede">il codice sede</param> /// <returns>BoxMezzi</returns> public BoxMezzi Get(string[] codiciSede) { var mezzi = new BoxMezzi(); var listaCodici = new List <string>(); var listaStatiOperativi = new List <StatoOperativoMezzo>(); foreach (var sede in codiciSede) { listaCodici.Add(sede); listaStatiOperativi.AddRange(_getStatoMezzi.Get(sede)); } ; var listaMezzi = _getMezziUtilizzabili.Get(listaCodici).Result; mezzi.InSede = listaMezzi.Where(x => x.Stato == Costanti.MezzoInSede || x.Stato == Costanti.MezzoRientrato || x.Stato == Costanti.MezzoOperativoPreaccoppiato) .Select(x => x.Stato) .Count(); mezzi.InViaggio = listaStatiOperativi.Where(x => x.StatoOperativo == Costanti.MezzoInViaggio) .Select(x => x.StatoOperativo) .Count(); mezzi.InRientro = listaStatiOperativi.Where(x => x.StatoOperativo == Costanti.MezzoInRientro) .Select(x => x.StatoOperativo) .Count(); mezzi.SulPosto = listaStatiOperativi.Where(x => x.StatoOperativo == Costanti.MezzoSulPosto) .Select(x => x.StatoOperativo) .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 BoxMezzi Get(string[] codiceSede) { var mezzi = new BoxMezzi(); var filepath = CostantiJson.Mezzo; string json; using (var r = new StreamReader(filepath)) { json = r.ReadToEnd(); } //var listaMezzi = mapper.MappaFlottaMezziSuMezzo(flottaMezzi).FindAll(x => x.Distaccamento.Codice.Equals(codiceSede)); var listaMezzi = JsonConvert.DeserializeObject <List <Mezzo> >(json); 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 async Task <IActionResult> Get() { var headerValues = Request.Headers["HubConnectionId"]; string ConId = headerValues.FirstOrDefault(); try { var BoxMezziquery = new BoxMezziQuery(); BoxMezzi boxMezzi = new BoxMezzi(); boxMezzi = (BoxMezzi)this._BoxMezzihandler.Handle(BoxMezziquery).BoxMezzi; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetBoxMezzi", boxMezzi); var BoxPersonalequery = new BoxPersonaleQuery(); BoxPersonale boxPersonale = new BoxPersonale(); boxPersonale = (BoxPersonale)this._BoxPersonalehandler.Handle(BoxPersonalequery).BoxPersonale; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetBoxPersonale", boxPersonale); var BoxRichiestequery = new BoxRichiesteQuery(); BoxInterventi boxInterventi = new BoxInterventi(); boxInterventi = (BoxInterventi)this._BoxRichiestehandler.Handle(BoxRichiestequery).BoxRichieste; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetBoxInterventi", boxInterventi); var SintesiMezziMarkerquery = new SintesiMezziMarkerQuery(); List <SintesiMezzoMarker> listaMezzi = new List <SintesiMezzoMarker>(); listaMezzi = (List <SintesiMezzoMarker>) this._SintesiMezziMarkerhandler.Handle(SintesiMezziMarkerquery).SintesiMezziMarker; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetListaMezziMarker", listaMezzi); var SintesiRichiesteAssistenzaquery = new SintesiRichiesteAssistenzaQuery(); List <SintesiRichiesta> listaSintesi = new List <SintesiRichiesta>(); listaSintesi = (List <SintesiRichiesta>) this._SintesiRichiesteAssistenzahandler.Handle(SintesiRichiesteAssistenzaquery).SintesiRichiesta; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetListaRichieste", listaSintesi); var query = new SintesiRichiesteAssistenzaMarkerQuery(); List <SintesiRichiestaMarker> listaSintesiMarker = new List <SintesiRichiestaMarker>(); listaSintesiMarker = (List <SintesiRichiestaMarker>) this._SintesiRichiesteAssistenzaMarkerhandler.Handle(query).SintesiRichiestaMarker; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetListaRichiesteMarker", listaSintesiMarker); var SintesiSediMarkerquery = new SintesiSediMarkerQuery(); List <SintesiSedeMarker> listaSintesiSediMarker = new List <SintesiSedeMarker>(); listaSintesiSediMarker = (List <SintesiSedeMarker>) this._SintesiSediMarkerhandler.Handle(SintesiSediMarkerquery).SintesiSediMarker; await _NotificationHubContext.Clients.Client(ConId).SendAsync("NotifyGetListaSediMarker", listaSintesiSediMarker); return(Ok()); } catch { return(BadRequest()); } }
private static BoxMezzi CaricaBox(BoxMezziQuery query) { BoxMezzi mezzi = new BoxMezzi(); //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 = "Fake/BoxMezzi.json"; string json; using (StreamReader r = new StreamReader(filepath)) { json = r.ReadToEnd(); } mezzi = JsonConvert.DeserializeObject <BoxMezzi>(json); return(mezzi); }