/// <summary> /// Gets the social media feed. /// </summary> /// <param name="feedFor">The feed for.</param> /// <returns></returns> public static IFeedReader GetSocialMediaFeed(FeedFor feedFor) { IFeedReader feedReader = null; try { switch (feedFor) { case FeedFor.Facebook: feedReader = new FacebookFeedReader(); break; case FeedFor.Twitter: feedReader = new TwitterFeedReader(); break; case FeedFor.Pinterest: feedReader = new PinterestFeedReader(); break; case FeedFor.Instagram: feedReader = new InstagramFeedReader(); break; default: break; } } catch (Exception ex) { ex.ExceptionValueTracker(feedFor); } return feedReader; }
/// <summary> /// Gets the social media feed. /// </summary> /// <param name="feedFor">The feed for.</param> /// <returns></returns> public static IFeedReader GetSocialMediaFeed(FeedFor feedFor) { IFeedReader feedReader = null; try { switch (feedFor) { case FeedFor.Facebook: feedReader = new FacebookFeedReader(); break; case FeedFor.Twitter: feedReader = new TwitterFeedReader(); break; case FeedFor.Pinterest: feedReader = new PinterestFeedReader(); break; case FeedFor.Instagram: feedReader = new InstagramFeedReader(); break; default: break; } } catch (Exception ex) { ex.ExceptionValueTracker(feedFor); } return(feedReader); }
/// <summary> /// Reads the RSS. /// </summary> /// <param name="htmlHelper">The HTML helper.</param> /// <param name="feedLink">The feed link.</param> /// <returns></returns> public static MvcHtmlString ReadRss(this HtmlHelper htmlHelper, string feedLink) { try { List <RssFeedModel> feedItems = new List <RssFeedModel>(); FeedFor feedfor = FeedFor.Facebook; switch (feedLink) { case "Facebook:RssFeed": feedfor = FeedFor.Facebook; break; case "Twitter:RssFeed": feedfor = FeedFor.Twitter; break; case "Pinterest:RssFeed": feedfor = FeedFor.Pinterest; break; } NJFairground.Web.Utilities.SocialMedia.IFeedReader feedReader = NJFairground.Web.Utilities.SocialMedia.SocialFeedReader.GetSocialMediaFeed(feedfor); feedItems = feedReader.Read().ToList(); return(new MvcHtmlString(GetHtmlFromRss(feedItems))); } catch (Exception ex) { ex.ExceptionValueTracker(feedLink); } return(new MvcHtmlString(string.Empty)); }
//--------------------// #region Clone /// <summary> /// Creates a deep copy of this <see cref="Feed"/> instance. /// </summary> /// <returns>The new copy of the <see cref="Feed"/>.</returns> public Feed Clone() { var feed = new Feed { UnknownAttributes = UnknownAttributes, UnknownElements = UnknownElements, MinInjectorVersion = MinInjectorVersion, Uri = Uri, Name = Name, Homepage = Homepage, NeedsTerminal = NeedsTerminal }; feed.Feeds.AddRange(Feeds.CloneElements()); feed.FeedFor.AddRange(FeedFor.CloneElements()); feed.Summaries.AddRange(Summaries.CloneElements()); feed.Descriptions.AddRange(Descriptions.CloneElements()); feed.Categories.AddRange(Categories); feed.Icons.AddRange(Icons); feed.Elements.AddRange(Elements.CloneElements()); feed.EntryPoints.AddRange(EntryPoints.CloneElements()); feed.CapabilityLists.AddRange(CapabilityLists.CloneElements()); return(feed); }
/// <summary> /// Flattens the <see cref="Group"/> inheritance structure and sets missing default values in <see cref="Implementation"/>s. /// </summary> /// <param name="feedUri">The feed the data was originally loaded from.</param> /// <exception cref="InvalidDataException">One or more required fields are not set.</exception> /// <remarks>This method should be called to prepare a <see cref="Feed"/> for solver processing. Do not call it if you plan on serializing the feed again since it may loose some of its structure.</remarks> public void Normalize([NotNull] FeedUri feedUri) { #region Sanity checks if (feedUri == null) { throw new ArgumentNullException(nameof(feedUri)); } #endregion if (Name == null) { throw new InvalidDataException(string.Format(Resources.MissingNameTagInFeed, feedUri)); } // Apply if-0install-version filter Elements.RemoveAll(FeedElement.FilterMismatch); Icons.RemoveAll(FeedElement.FilterMismatch); Categories.RemoveAll(FeedElement.FilterMismatch); Feeds.RemoveAll(FeedElement.FilterMismatch); FeedFor.RemoveAll(FeedElement.FilterMismatch); EntryPoints.RemoveAll(FeedElement.FilterMismatch); foreach (var icon in Icons) { icon.Normalize(); } foreach (var feedReference in Feeds) { feedReference.Normalize(); } foreach (var interfaceReference in FeedFor) { interfaceReference.Normalize(); } NormalizeElements(feedUri); NormalizeEntryPoints(); }