public static LinkFlair GetLinkFlair(this Post @this) { if (string.IsNullOrEmpty(@this.LinkFlairText)) { return(LinkFlair.None); } var searchText = @this.LinkFlairText; if (searchText.Contains("&")) { searchText = searchText.Replace("&", "&"); } var matchingFlair = LinkFlair.Enumerate().Where(t => t.Value.FlairText == searchText).ToArray(); if (matchingFlair.Length != 1) { return(LinkFlair.InvalidFlair); } return(matchingFlair[0]); }
private FlairRule(Func <Post, bool> qualifier, LinkFlair flair, [CallerMemberName] string fieldName = null, [CallerLineNumber] int line = 0) : base(new FlairRuleDefinition(qualifier, flair), fieldName, line) { }
public FlairRuleDefinition(Func <Post, bool> qualifier, LinkFlair flair) { Qualifier = qualifier; Flair = flair; }
public static void SetFlair(this Post @this, LinkFlair flair) { @this.SetFlair(flair.Value.FlairText, flair.Value.CSSClass); }
public static bool HasLinkFlair(this Post @this, LinkFlair flair) { return(Equals(flair, @this.GetLinkFlair())); }