private static IList <NewsSummary> loadData(XmlReader reader) { SyndicationFeed feed = SyndicationFeed.Load(reader); Dictionary <String, NewsSummary> fakeDatabase = new Dictionary <String, NewsSummary>(); foreach (SyndicationItem item in feed.Items) { foreach (SyndicationCategory category in item.Categories) { // Let's trust the data (mistaaaake!) and assume category can be used for the key if (fakeDatabase.ContainsKey(category.Name)) { NewsSummary ns = fakeDatabase[category.Name]; if (ns.NewestNewsDate < item.PublishDate) { ns.NewestNewsDate = item.PublishDate; } ns.NumberOfNews += 1; } else { NewsSummary ns = new NewsSummary { Category = category.Name, NewestNewsDate = item.PublishDate, NumberOfNews = 1 }; fakeDatabase.Add(category.Name, ns); } } } return(fakeDatabase.Values.ToArray()); }
public static NewsSummary ResolveTopicIcon(this NewsSummary news) { if (!string.IsNullOrEmpty(news.TopicIcon)) { news.TopicIcon = $"/img/ikony/{news.TopicIcon}.gif"; } return(news); }
public IActionResult Get() { var response = new NewsSummary { Title = "News title from microservice, hello!" }; return(Ok(response)); }
public async void ReadNewsSummary(string url) { _viewModel.LoadSummary(url); NewsSummary _summary = _viewModel.summary; try { this.SummaryBlock.Text = _summary.digest; string textToRead = _summary.title + ".\n" + _summary.source + " reports, " + _summary.digest + "\n\n"; await synth.SpeakTextAsync(textToRead); } catch { } }
/// <summary> /// Handles the <see cref="E:NewsEvent" /> event. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="NewsSummaryEventArgs" /> instance containing the event data.</param> protected virtual void OnNewsSummary(object sender, NewsSummaryEventArgs e) { NewsSummary?.Invoke(sender, e); }