Ejemplo n.º 1
0
        public async Task <DataVigilance> GetVigilanceAsync(string departement, VigilanceType vigilanceType)
        {
            if (Cache.TryGetValue(CacheKey, out CarteVigilance vigilanceValue))
            {
                return(vigilanceValue.Data.FirstOrDefault(v => v.Departement == departement));
            }

            var vigilance = await GetVigilanceFromMeteoFranceAsync();

            Cache.Set(CacheKey, vigilance, TimeSpan.FromDays(1));
            return(vigilance.Data.FirstOrDefault(v => v.Departement == departement));;
        }
Ejemplo n.º 2
0
 public VigilanceResponse(DataVigilance data, VigilanceType vigilanceType)
 {
     if (vigilanceType == VigilanceType.All || vigilanceType == VigilanceType.Color)
     {
         Couleur = data.CouleurValue;
     }
     if (vigilanceType == VigilanceType.All || vigilanceType == VigilanceType.Risk)
     {
         Risque = data.Risque?.RisqueValeur;
     }
     if (vigilanceType == VigilanceType.All || vigilanceType == VigilanceType.Flood)
     {
         Crue = data.Crue?.CrueValeur;
     }
     Departement = data.Departement;
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> Get(
            [FromRoute] string departement,
            [FromRoute] VigilanceType vigilanceType)
        {
            if (vigilanceType == VigilanceType.Unknown)
            {
                return(BadRequest("Invalid vigilance request. Accepted values: color|risk|flood|all"));
            }

            if (string.IsNullOrWhiteSpace(departement))
            {
                return(BadRequest("departement must be provided"));
            }

            if (departement.Length < 2)
            {
                departement = departement.PadLeft(2, '0');
            }

            if (departement == "92" || departement == "93" || departement == "94")
            {
                departement = "75";
            }
            if (departement == "20")
            {
                departement = "2A";
            }

            var response = await _vigilanceHelper.GetVigilanceAsync(departement, vigilanceType);

            if (response != null)
            {
                return(Ok(new VigilanceResponse(response, vigilanceType)));
            }
            return(BadRequest($"Department {departement} not found"));
        }