예제 #1
0
        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));
        }
예제 #2
0
 private string GetUrl(NewsScope scope)
 {
     return(scope switch
     {
         NewsScope.Headlines => Headlines,
         NewsScope.Global => Global,
         NewsScope.Local => Local,
         _ => throw new Exception("Undefined scope")
     });
예제 #3
0
 private string GetUrl(NewsScope scope)
 {
     return(scope switch
     {
         NewsScope.Headlines => Headlines,
         NewsScope.Local => Local,
         NewsScope.Global => Global,
         _ => throw new InvalidOperationException($"Undefined scope: {scope}")
     });
예제 #4
0
 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")
     });
예제 #5
0
        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);
 }