示例#1
0
        private static BoxInterventi CaricaBox(BoxRichiesteQuery query)
        {
            BoxInterventi interventi = new BoxInterventi();

            //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/ListaRichieste.json";
            string json;

            using (StreamReader r = new StreamReader(filepath))
            {
                json = r.ReadToEnd();
            }

            List <SintesiRichiesta> ListaRichieste = JsonConvert.DeserializeObject <List <SintesiRichiesta> >(json);

            interventi.AnnoCorrente        = DateTime.Now.Year;
            interventi.Assegnati           = ListaRichieste.FindAll(x => x.Stato == 3).Count;
            interventi.Chiamate            = ListaRichieste.FindAll(x => x.Stato == 0).Count;
            interventi.NomeTurnoCorrente   = "B";
            interventi.NomeTurnoPrecedente = "A";
            interventi.Presidiati          = ListaRichieste.FindAll(x => x.Stato == 2).Count;
            interventi.Sospesi             = ListaRichieste.FindAll(x => x.Stato == 1).Count;
            interventi.TotAnnoCorrente     = ListaRichieste.FindAll(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year).Count;
            interventi.TotTurnoCorrente    = ListaRichieste.FindAll(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year).Count;
            interventi.TotTurnoPrecedente  = 0;
            interventi.Totale = ListaRichieste.Count;

            return(interventi);
        }
示例#2
0
        public BoxInterventi Get(ISet <PinNodo> listaPin)
        {
            var interventi = new BoxInterventi();

            var filtro = new FiltroRicercaRichiesteAssistenza {
                UnitaOperative = listaPin, IncludiRichiesteChiuse = true
            };
            var listaSintesi = _getListaSintesi.GetListaSintesiRichieste(filtro);

            if (listaSintesi.Count > 0)
            {
                interventi.Assegnati = listaSintesi.Count(x => x.Partenze.Count > 0 &&
                                                          !x.Partenze.All(c => c.Partenza.Terminata || c.Partenza.PartenzaAnnullata || c.Partenza.Sganciata) &&
                                                          !x.Chiusa && !x.Presidiata && !x.Sospesa && x.Aperta);
                interventi.Chiamate = listaSintesi.Count(x =>
                                                         (x.Partenze.Count == 0 || x.Partenze.All(c => c.Partenza.Terminata || c.Partenza.PartenzaAnnullata || c.Partenza.Sganciata)) &&
                                                         !x.Chiusa && !x.Sospesa);
                interventi.Presidiati         = listaSintesi.Count(x => x.Presidiata);
                interventi.Chiusi             = listaSintesi.Count(x => x.Chiusa);
                interventi.TotAnnoCorrente    = listaSintesi.Count(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year && x.Chiusa);
                interventi.TotTurnoCorrente   = listaSintesi.Count(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year);
                interventi.TotTurnoPrecedente = 0;
                interventi.Totale             = listaSintesi.Count(x => x.Aperta);
                interventi.AnnoCorrente       = DateTime.Now.Year;
            }

            return(interventi);
        }
示例#3
0
        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());
            }
        }
示例#4
0
        public BoxInterventi Get()
        {
            var    interventi = new BoxInterventi();
            var    listaRichiesteAssistenza = new List <RichiestaAssistenza>();
            var    filepath = CostantiJson.ListaRichiesteAssistenza;
            string json;

            using (StreamReader r = new StreamReader(filepath))
            {
                json = r.ReadToEnd();
            }

            try
            {
                List <RichiestaAssistenzaDTO> listaRichieste = JsonConvert.DeserializeObject <List <RichiestaAssistenzaDTO> >(json);

                interventi.AnnoCorrente = DateTime.Now.Year;

                if (listaRichieste != null)
                {
                    foreach (RichiestaAssistenzaDTO richiesta in listaRichieste)
                    {
                        richiesta.Id = richiesta.Codice;
                        listaRichiesteAssistenza.Add(MapperDTO.MapRichiestaDTOtoRichiesta(richiesta));
                    }

                    interventi.Assegnati           = listaRichiesteAssistenza.FindAll(x => x.StatoRichiesta is Assegnata).Count;
                    interventi.Chiamate            = listaRichiesteAssistenza.FindAll(x => x.StatoRichiesta is InAttesa).Count;
                    interventi.NomeTurnoCorrente   = Costanti.B;
                    interventi.NomeTurnoPrecedente = Costanti.A;
                    interventi.Presidiati          = listaRichiesteAssistenza.FindAll(x => x.StatoRichiesta is Presidiata).Count;
                    interventi.Sospesi             = listaRichiesteAssistenza.FindAll(x => x.StatoRichiesta is Sospesa).Count;
                    interventi.TotAnnoCorrente     = listaRichiesteAssistenza.FindAll(x => x.IstanteRicezioneRichiesta.Value.Year == DateTime.Now.Year).Count;
                    interventi.TotTurnoCorrente    = listaRichiesteAssistenza.FindAll(x => x.IstanteRicezioneRichiesta.Value.Year == DateTime.Now.Year).Count;
                    interventi.TotTurnoPrecedente  = 0;
                    interventi.Totale = listaRichiesteAssistenza.Count;
                }
            }
            catch (Exception ex) { }

            return(interventi);
        }
示例#5
0
        public BoxInterventi Get(ISet <PinNodo> listaPin)
        {
            var interventi = new BoxInterventi();

            var filtro = new FiltroRicercaRichiesteAssistenza {
                UnitaOperative = listaPin
            };
            var listaSintesi = _getListaSintesi.GetListaSintesiRichieste(filtro);

            if (listaSintesi.Count > 0)
            {
                interventi.Assegnati          = listaSintesi.Count(x => x.Partenze.Count > 0 && !x.Chiusa);
                interventi.Chiamate           = listaSintesi.Count(x => x.Partenze.Count == 0 && !x.Chiusa && !x.Sospesa);
                interventi.Presidiati         = listaSintesi.Count(x => x.Presidiata);
                interventi.Sospesi            = listaSintesi.Count(x => x.Sospesa);
                interventi.TotAnnoCorrente    = listaSintesi.Count(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year);
                interventi.TotTurnoCorrente   = listaSintesi.Count(x => x.IstanteRicezioneRichiesta.Year == DateTime.Now.Year);
                interventi.TotTurnoPrecedente = 0;
                interventi.Totale             = listaSintesi.Count;
                interventi.AnnoCorrente       = DateTime.Now.Year;
            }

            return(interventi);
        }