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));; }
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; }
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")); }