public IViewComponentResult Invoke() { try { var feedUrl = $"http://www.Telenoc.com/NewsRSS.aspx?Version={NopVersion.CurrentVersion}&Localhost={_webHelper.IsLocalRequest(Request)}&HideAdvertisements={_adminAreaSettings.HideAdvertisementsOnAdminArea}&StoreURL={_storeContext.CurrentStore.Url}" .ToLowerInvariant(); var rssData = _cacheManager.Get(ModelCacheEventConsumer.OFFICIAL_NEWS_MODEL_KEY, () => { //specify timeout (5 secs) var request = WebRequest.Create(feedUrl); request.Timeout = 5000; using (var response = request.GetResponse()) using (var reader = XmlReader.Create(response.GetResponseStream())) { return(RssFeed.Load(reader)); } }); var model = new NopCommerceNewsModel { HideAdvertisements = _adminAreaSettings.HideAdvertisementsOnAdminArea }; for (var i = 0; i < rssData.Items.Count; i++) { var item = rssData.Items.ElementAt(i); var newsItem = new NopCommerceNewsModel.NewsDetailsModel { Title = item.TitleText, Summary = item.ContentText, Url = item.Url.OriginalString, PublishDate = item.PublishDate }; model.Items.Add(newsItem); //has new items? if (i == 0) { var firstRequest = string.IsNullOrEmpty(_adminAreaSettings.LastNewsTitleAdminArea); if (_adminAreaSettings.LastNewsTitleAdminArea != newsItem.Title) { _adminAreaSettings.LastNewsTitleAdminArea = newsItem.Title; _settingService.SaveSetting(_adminAreaSettings); if (!firstRequest) { //new item model.HasNewItems = true; } } } } return(View(model)); } catch { return(Content("")); } }
public virtual ActionResult NopCommerceNews() { try { string feedUrl = string.Format("http://www.njkhanh.com/NewsRSS.aspx?Version={0}&Localhost={1}&HideAdvertisements={2}&StoreURL={3}", NopVersion.CurrentVersion, Request.Url.IsLoopback, _adminAreaSettings.HideAdvertisementsOnAdminArea, _storeContext.CurrentStore.Url) .ToLowerInvariant(); var rssData = _cacheManager.Get(ModelCacheEventConsumer.OFFICIAL_NEWS_MODEL_KEY, () => { //specify timeout (5 secs) var request = WebRequest.Create(feedUrl); request.Timeout = 5000; using (var response = request.GetResponse()) using (var reader = XmlReader.Create(response.GetResponseStream())) { return(SyndicationFeed.Load(reader)); } }); var model = new NopCommerceNewsModel() { HideAdvertisements = _adminAreaSettings.HideAdvertisementsOnAdminArea }; for (int i = 0; i < rssData.Items.Count(); i++) { var item = rssData.Items.ElementAt(i); var newsItem = new NopCommerceNewsModel.NewsDetailsModel() { Title = item.Title.Text, Summary = item.Summary.Text, Url = item.Links.Any() ? item.Links.First().Uri.OriginalString : null, PublishDate = item.PublishDate }; model.Items.Add(newsItem); //has new items? if (i == 0) { var firstRequest = String.IsNullOrEmpty(_adminAreaSettings.LastNewsTitleAdminArea); if (_adminAreaSettings.LastNewsTitleAdminArea != newsItem.Title) { _adminAreaSettings.LastNewsTitleAdminArea = newsItem.Title; _settingService.SaveSetting(_adminAreaSettings); if (!firstRequest) { //new item model.HasNewItems = true; } } } } return(PartialView(model)); } catch (Exception) { return(Content("")); } }