Exemplo n.º 1
0
 public async Task <GetNewsQueryResponse> Execute(GetNewsQueryParam parameters)
 {
     return(new GetNewsQueryResponse
     {
         News = await newsProvider.GetNews(parameters.PostNumber)
     });
 }
Exemplo n.º 2
0
        public async Task <IEnumerable <NewsItem> > GetNews(IEnumerable <NewsSource> sources)
        {
            List <NewsItem> newsItems = new();

            if (sources is null || !sources.Any())
            {
                throw new ArgumentException("News sources list missing or empty.");
            }

            foreach (NewsSource source in sources)
            {
                var sourceNewsItems = await _newsProvider.GetNews(source);

                newsItems = newsItems.Concat(sourceNewsItems).ToList();
            }

            return(newsItems);
        }
Exemplo n.º 3
0
        private void GetServerNews()
        {
            IConfiguration config       = ConfigurationManager.GetConfiguration(ProfileManager.CurrentProfile.GameModel);
            INewsProvider  newsProvider = config.CreateNewsProvider();

            if (newsProvider != null)
            {
                List <NewsItem> news = new List <NewsItem>();
                try {
                    foreach (NewsItem item in newsProvider.GetNews())
                    {
                        news.Add(new NewsItem(item));
                    }
                } catch (WebException e) {
                    news = new List <NewsItem>();
                    news.Add(new NewsItem()
                    {
                        Subject = e.Message,
                        Content = e.Message,
                        Date    = DateTime.Now.ToString(),
                        Mode    = "NOTICE"
                    });
                }

                this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new DoAddServerNews((s) => {
                    Rect viewbox;
                    string mode;
                    foreach (NewsItem n in news)
                    {
                        mode = n.Mode;
                        if (mode == "NOTICE")
                        {
                            viewbox = new Rect(215, 54, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Notice];
                        }
                        else if (mode == "EVENT")
                        {
                            viewbox = new Rect(215, 36, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Event];
                        }
                        else if (mode == "PATCH")
                        {
                            viewbox = new Rect(215, 0, 90, 18);
                            mode    = LanguageManager.Model[e => e.NewsType_Patch];
                        }
                        else
                        {
                            viewbox = new Rect(215, 0, 90, 18);
                        }
                        ServerNews.Add(new ServerNewsItemViewModel(LanguageManager)
                        {
                            Title    = n.Subject,
                            Content  = n.Content,
                            Date     = string.IsNullOrEmpty(n.Date) ? null : (DateTime?)DateTime.ParseExact(n.Date, "MM-dd-yyyy", CultureInfo.InvariantCulture),
                            TypeName = mode,
                            Link     = n.Url,
                            ImgVB    = viewbox
                        });
                    }
                }), news);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetNews()
        {
            var model = await newsProvider.GetNews();

            return(new ObjectResult(model));
        }