private void ReadXmlFromUrlAndCreateListOfArticles(string url) { var reader = XmlReader.Create(url); var feed = SyndicationFeed.Load(reader); reader.Close(); labelTitle.Visible = true; labelTitle.Text = feed.Title.Text; FeedList = new List <Article>(); foreach (SyndicationItem item in feed.Items) { var article = new Article(); article.Title = item.Title.Text; article.Summary = item.Summary.Text; article.PublishDate = item.PublishDate.DateTime; article.Link = (from i in item.Links where i.MediaType == null select i.Uri.OriginalString).FirstOrDefault(); article.ImageUrl = (from i in item.Links where i.RelationshipType == "enclosure" || i.MediaType == "image/png" || i.MediaType == "jpeg" select i.Uri.OriginalString).FirstOrDefault(); FeedList.Add(article); } FeedRepeater.DataSource = FeedList; FeedRepeater.DataBind(); }
private void LoadData() { var storage = FeedStorageFactory.Create(); var feedType = FeedType.All; if (!string.IsNullOrEmpty(Request["type"])) { feedType = (FeedType)Enum.Parse(typeof(FeedType), Request["type"], true); var feedTypeInfo = FeedTypeInfo.FromFeedType(feedType); Title = HeaderStringHelper.GetPageTitle((Master as NewsMaster).CurrentPageCaption ?? feedTypeInfo.TypeName); } else { Title = HeaderStringHelper.GetPageTitle((Master as NewsMaster).CurrentPageCaption ?? NewsResource.NewsBreadCrumbs); } var feedsCount = !string.IsNullOrEmpty(Request["search"]) ? storage.SearchFeedsCount(Request["search"], feedType, Info.UserId) : storage.GetFeedsCount(feedType, Info.UserId); FeedsCount = feedsCount; if (feedsCount == 0) { FeedRepeater.Visible = false; MessageShow.Visible = true; string buttonLink; string buttonName; var emptyScreenControl = new EmptyScreenControl { Describe = NewsResource.EmptyScreenText }; switch (feedType) { case FeedType.News: emptyScreenControl.ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_news.png", NewsConst.ModuleId); emptyScreenControl.Header = NewsResource.EmptyScreenNewsCaption; buttonLink = FeedUrls.EditNewsUrl; buttonName = NewsResource.EmptyScreenNewsLink; break; case FeedType.Order: emptyScreenControl.ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_order.png", NewsConst.ModuleId); emptyScreenControl.Header = NewsResource.EmptyScreenOrdersCaption; buttonLink = FeedUrls.EditOrderUrl; buttonName = NewsResource.EmptyScreenOrderLink; break; case FeedType.Advert: emptyScreenControl.ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_advert.png", NewsConst.ModuleId); emptyScreenControl.Header = NewsResource.EmptyScreenAdvertsCaption; buttonLink = FeedUrls.EditAdvertUrl; buttonName = NewsResource.EmptyScreenAdvertLink; break; case FeedType.Poll: emptyScreenControl.ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_poll.png", NewsConst.ModuleId); emptyScreenControl.Header = NewsResource.EmptyScreenPollsCaption; buttonLink = FeedUrls.EditPollUrl; buttonName = NewsResource.EmptyScreenPollLink; break; default: emptyScreenControl.ImgSrc = WebImageSupplier.GetAbsoluteWebPath("150x_newslogo.png", NewsConst.ModuleId); emptyScreenControl.Header = NewsResource.EmptyScreenEventsCaption; buttonLink = FeedUrls.EditNewsUrl; buttonName = NewsResource.EmptyScreenEventLink; break; } if (CommunitySecurity.CheckPermissions(NewsConst.Action_Add) && String.IsNullOrEmpty(Request["uid"]) && String.IsNullOrEmpty(Request["search"])) { emptyScreenControl.ButtonHTML = String.Format("<a class='link underline blue plus' href='{0}'>{1}</a>", buttonLink, buttonName); } MessageShow.Controls.Add(emptyScreenControl); } else { var pageSize = PageSize; var pageCount = (int)(feedsCount / pageSize + 1); if (pageCount < PageNumber) { PageNumber = pageCount; } var feeds = !string.IsNullOrEmpty(Request["search"]) ? storage.SearchFeeds(Request["search"], feedType, Info.UserId, pageSize, (PageNumber - 1) * pageSize) : storage.GetFeeds(feedType, Info.UserId, pageSize, (PageNumber - 1) * pageSize); pgNavigator.EntryCountOnPage = pageSize; pgNavigator.EntryCount = 0 < pageCount ? (int)feedsCount : pageSize; pgNavigator.CurrentPageNumber = PageNumber; pgNavigator.ParamName = "page"; if (!string.IsNullOrEmpty(Request["search"])) { pgNavigator.PageUrl = string.Format( CultureInfo.CurrentCulture, "{0}?search={1}&size={2}", VirtualPathUtility.ToAbsolute("~/products/community/modules/news/"), Request["search"], pageSize ); } else { pgNavigator.PageUrl = string.IsNullOrEmpty(Request["type"]) ? string.Format( CultureInfo.CurrentCulture, "{0}?{1}&size={2}", VirtualPathUtility.ToAbsolute("~/products/community/modules/news/"), (string.IsNullOrEmpty(Info.UserIdAttribute) ? string.Empty : "?" + Info.UserIdAttribute.Substring(1)), pageSize ) : string.Format( CultureInfo.CurrentCulture, "{0}?type={1}{2}&size={3}", VirtualPathUtility.ToAbsolute("~/products/community/modules/news/"), Request["type"], Info.UserIdAttribute, pageSize); } FeedRepeater.DataSource = feeds; FeedRepeater.DataBind(); } }
private void ClearHomePage() { FeedRepeater.DataSource = null; FeedRepeater.DataBind(); labelTitle.Visible = false; }