Ejemplo n.º 1
0
        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]);
        }
Ejemplo n.º 2
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;
 }
Ejemplo n.º 4
0
 public static void SetFlair(this Post @this, LinkFlair flair)
 {
     @this.SetFlair(flair.Value.FlairText, flair.Value.CSSClass);
 }
Ejemplo n.º 5
0
 public static bool HasLinkFlair(this Post @this, LinkFlair flair)
 {
     return(Equals(flair, @this.GetLinkFlair()));
 }