AdvancedLauncher.UI.Controls.NewsBlock.GetServerNews C# (CSharp) Method

GetServerNews() private method

private GetServerNews ( ) : void
return void
        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);
            }
        }