Example #1
0
        public List <TipologiaSoccorsoAereo> Get()
        {
            var APImanager = new HttpRequestManager <List <TipologiaSoccorsoAereo> >(_client, _memoryCache, _writeLog, _httpContext, _configuration);

            APImanager.Configure();

            var result = APImanager.GetAsync(new Uri(Costanti.AFM + "requestType"), "*****@*****.**", "DNGFNC98R17D662Q").Result;

            return(result);
        }
Example #2
0
        public void Inserisci(NuovaRichiestaSoccorsoAereo richiesta)
        {
            var APImanager = new HttpRequestManager <ErroreRichiestaSoccorsoAereo>(_client, _memoryCache, _writeLog, _httpContext, _configuration);

            APImanager.Configure();

            var jsonString = JsonConvert.SerializeObject(richiesta);
            var content    = new StringContent(jsonString);

            var result = APImanager.PutAsync(new Uri(Costanti.AFM + "rescueRequest"), content, "*****@*****.**", "DNGFNC98R17D662Q").Result;
        }
Example #3
0
        public void Annulla(Models.Classi.ServiziEsterni.AFM.AnnullaRichiestaSoccorsoAereo richiesta, string CodiceRichiesta)
        {
            var APImanager = new HttpRequestManager <ErroreRichiestaSoccorsoAereo>(_client, _memoryCache, _writeLog, _httpContext, _configuration);

            APImanager.Configure();

            var jsonString = JsonConvert.SerializeObject(richiesta);
            var content    = new StringContent(jsonString);

            var result = APImanager.PostAsync(new Uri(Costanti.AFM + "rescueRequest/" + CodiceRichiesta + "/abort"), content, "*****@*****.**", "DNGFNC98R17D662Q").Result;
        }
Example #4
0
        public void Set(UscitaGAC uscita)
        {
            GetToken getToken  = new GetToken(_client, _configuration, _memoryCache, _writeLog, _httpContext);
            var      lstUscite = new List <UscitaGAC>()
            {
                uscita
            };

            var requestManager = new HttpRequestManager <List <Response> >(_client, _memoryCache, _writeLog, _httpContext, _configuration);

            requestManager.Configure();

            var jsonString = JsonConvert.SerializeObject(lstUscite);
            var content    = new StringContent(jsonString);
            var uri        = new Uri(_configuration.GetSection("UrlExternalApi").GetSection("GacApi").Value + Costanti.GacUscitaMezzo);

            var result = requestManager.PutAsync(uri, content, getToken.GeneraToken()).Result;
        }
Example #5
0
        public string GeneraToken()
        {
            string token = "";

            var httpManagerToken = new HttpRequestManager <TokenService>(_client, _memoryCache, _writeLog, _httpContext, _configuration);

            httpManagerToken.Configure();

            var url        = new Uri($"{_configuration.GetSection("UrlExternalApi").GetSection("GacApi").Value}{Costanti.GacGetToken}?user=SO115&password=SO115");
            var EsitoToken = httpManagerToken.GetAsync(url, token).Result;

            if (!EsitoToken.errore)
            {
                token = EsitoToken.descrizioneEsito;
            }

            return(token);
        }
Example #6
0
        private async Task <List <PersonaleVVF> > GetPersonaleVVFExternalAPI(string[] codSede)
        {
            var listaPersonale = new List <PersonaleVVF>();

            //try
            //{
            Parallel.ForEach(codSede, sede =>
            {
                var httpManager = new HttpRequestManager <List <PersonaleVVF> >(_client, _memoryCache, _writeLog, _httpContext, _configuration);
                httpManager.Configure("Personale_" + sede);

                var url = new Uri($"{_configuration.GetSection("UrlExternalApi").GetSection("PersonaleApiUtenteComuni").Value}?codiciSede={sede}");
                lock (listaPersonale)
                    listaPersonale.AddRange(httpManager.GetAsync(url, "").Result);
            });
            //}
            //catch (Exception e)
            //{
            //    throw new Exception("Elenco del personale non disponibile");
            //}

            return(listaPersonale);
        }
Example #7
0
        public async Task <List <Mezzo> > Get(List <string> sedi, string genereMezzo = null, string codiceMezzo = null, List <MessaggioPosizione> posizioneFlotta = null)
        {
            var pinNodi            = sedi.Select(s => new PinNodo(s, true));
            var ListaCodiciComandi = new List <string>();
            var ListaCodiciSedi    = new List <string>();
            var listaSediAlberate  = _getAlberaturaUnitaOperative.ListaSediAlberata();

            foreach (var figlio in listaSediAlberate.GetSottoAlbero(pinNodi))
            {
                var    codice  = figlio.Codice;
                string codiceE = "";
                codiceE = ListaCodiciSedi.Find(x => x.Equals(codice));
                if (string.IsNullOrEmpty(codiceE))
                {
                    if (!ListaCodiciComandi.Contains(codice.Split('.')[0]))
                    {
                        ListaCodiciComandi.Add(codice.Split('.')[0]);
                    }
                    ListaCodiciSedi.Add(codice);
                }
            }

            var ListaPosizioneFlotta = new List <MessaggioPosizione>();

            if (posizioneFlotta == null)
            {
                ListaPosizioneFlotta = _getPosizioneFlotta.Get(0).Result;
            }
            else
            {
                ListaPosizioneFlotta = posizioneFlotta;
            }

            var ListaAnagraficaMezzo = GetAnagraficaMezziByCodComando(ListaCodiciComandi).Result;

            var ListaMezzi = new List <Mezzo>();

            #region LEGGO DA API ESTERNA

            GetToken getToken = new GetToken(_client, _configuration, _memoryCache, _writeLog, _httpContext);
            var      token    = getToken.GeneraToken();

            var lstMezziDto = new List <MezzoDTO>();
            try
            {
                Parallel.ForEach(sedi, sede =>
                {
                    var httpManager = new HttpRequestManager <List <MezzoDTO> >(_client, _memoryCache, _writeLog, _httpContext, _configuration);
                    httpManager.Configure("Mezzi_" + sede);

                    var lstSediQueryString = string.Join("&codiciSedi=", ListaCodiciSedi.Where(s => sede.Contains(s.Split(".")[0])).ToArray());
                    var url = new Uri($"{_configuration.GetSection("UrlExternalApi").GetSection("GacApi").Value}{Classi.Costanti.GacGetMezziUtilizzabili}?codiciSedi={lstSediQueryString}");
                    lock (lstMezziDto)
                        lstMezziDto.AddRange(httpManager.GetAsync(url, token).Result);
                });
            }
            catch (Exception e)
            {
                throw new Exception("Elenco dei mezzi non disponibile");
            }

            #endregion LEGGO DA API ESTERNA

            //MAPPING
            ListaMezzi = lstMezziDto.Select(m =>
            {
                //if (!mezzoFake.Equals("CMOB"))
                //{
                var anagraficaMezzo = ListaAnagraficaMezzo.Find(x => x.Targa.Equals(m.Descrizione));
                var mezzo           = MapMezzo(anagraficaMezzo, m);
                if (mezzo != null)
                {
                    //listaMezziBySedeAppo.Add(mezzo);
                    ListaMezzi.Add(mezzo);
                }
                //}
                return(mezzo);
            }).ToList();

            ListaMezzi = ListaMezzi.Select(mezzo =>
            {
                var CoordinateMezzoGeoFleet = ListaPosizioneFlotta.Find(x => x.CodiceMezzo.Equals(mezzo.Codice));

                if (CoordinateMezzoGeoFleet == null)
                {
                    mezzo.Coordinate     = mezzo.Distaccamento.Coordinate;
                    mezzo.CoordinateFake = true;
                }
                else
                {
                    mezzo.Coordinate     = new Coordinate(CoordinateMezzoGeoFleet.Localizzazione.Lat, CoordinateMezzoGeoFleet.Localizzazione.Lon);
                    mezzo.CoordinateFake = false;
                }

                return(mezzo);
            }).ToList();

            return(GetListaMezziConStatoAggiornat(ListaMezzi));
        }
Example #8
0
        public async Task <List <Mezzo> > Get(List <string> sedi, string genereMezzo = null, string codiceMezzo = null)
        {
            var ListaCodiciSedi    = new List <string>();
            var ListaCodiciComandi = new List <string>();

            var listaSediAlberate = _getAlberaturaUnitaOperative.ListaSediAlberata();
            var pinNodi           = sedi.Select(sede => new PinNodo(sede, true)).ToList();

            foreach (var figlio in listaSediAlberate.GetSottoAlbero(pinNodi))
            {
                var    codice  = figlio.Codice;
                string codiceE = "";
                codiceE = ListaCodiciSedi.Find(x => x.Equals(codice));
                if (string.IsNullOrEmpty(codiceE))
                {
                    if (!ListaCodiciComandi.Contains(codice.Split('.')[0]))
                    {
                        ListaCodiciComandi.Add(codice.Split('.')[0]);
                    }
                    ListaCodiciSedi.Add(codice);
                }
            }

            var ListaAnagraficaMezzo = new List <AnagraficaMezzo>();
            var ListaPosizioneFlotta = _getPosizioneFlotta.Get(0).Result;

            #region LEGGO DA API ESTERNA

            GetToken getToken = new GetToken(_client, _configuration, _memoryCache, _writeLog, _httpContext);
            var      token    = getToken.GeneraToken();

            var lstMezziDto = new List <MezzoDTO>();
            Parallel.ForEach(sedi, sede =>
            {
                var httpManager = new HttpRequestManager <List <MezzoDTO> >(_client, _memoryCache, _writeLog, _httpContext, _configuration);
                httpManager.Configure("Mezzi_" + sede);

                var lstSediQueryString = string.Join("&codiciSedi=", ListaCodiciSedi.Where(s => sede.Contains(s.Split(".")[0])).ToArray());
                var url = new Uri($"{_configuration.GetSection("UrlExternalApi").GetSection("GacApi").Value}{Costanti.GacGetMezziUtilizzabili}?codiciSedi={lstSediQueryString}");
                lock (lstMezziDto)
                    lstMezziDto.AddRange(httpManager.GetAsync(url, token).Result);
            });

            #endregion LEGGO DA API ESTERNA

            var ListaStatiOperativiMezzi = _getStatoMezzi.Get(sedi.ToArray());

            var ListaMezzi = lstMezziDto.Select(m =>
            {
                //if (!mezzoFake.Equals("CMOB"))
                //{
                var mezzo = MapMezzo(m);
                if (mezzo != null)
                {
                    //listaMezziBySedeAppo.Add(mezzo);
                    return(mezzo);
                }
                //}

                if (ListaStatiOperativiMezzi.Count > 0)
                {
                    mezzo.Stato = ListaStatiOperativiMezzi.Find(x => x.CodiceMezzo.Equals(mezzo.Codice)).StatoOperativo;
                }
                else
                {
                    mezzo.Stato = Costanti.MezzoInSede;
                }

                return(mezzo);
            }).ToList();

            return(ListaMezzi);
        }