public async Task <NewsResult> GetNews(NewsScope scope) { var url = GetUrl(scope); var client = new WebClient(); var json = await client.DownloadStringTaskAsync(url); return(JsonConvert.DeserializeObject <NewsResult>(json)); }
private string GetUrl(NewsScope scope) { return(scope switch { NewsScope.Headlines => Headlines, NewsScope.Global => Global, NewsScope.Local => Local, _ => throw new Exception("Undefined scope") });
private string GetUrl(NewsScope scope) { return(scope switch { NewsScope.Headlines => Headlines, NewsScope.Local => Local, NewsScope.Global => Global, _ => throw new InvalidOperationException($"Undefined scope: {scope}") });
private string GetUrl(NewsScope scope) { return(scope switch { NewsScope.Headlines => Headlines, NewsScope.Global => Global, NewsScope.Africa => Africa, NewsScope.Europe => Europe, NewsScope.MiddleEast => MiddleEast, _ => throw new Exception("Undefined scope") });
public async Task <NewsResult> GetNews(NewsScope scope) { string url = GetUrl(scope); var webclient = new WebClient(); var json = await webclient.DownloadStringTaskAsync(url); JsonSerializerOptions options = new JsonSerializerOptions { PropertyNameCaseInsensitive = true }; return(JsonSerializer.Deserialize <NewsResult>(json, options)); //Newtonsoft.Json.JsonConvert.DeserializeObject<NewsResult>(json); }
public async Task Initialize(NewsScope scope) { CurrentNews = await newsService.GetNews(scope); }