private bool MatchRule(string name, Rule rule, bool matchWholeWord, HashSet<string> tags)
{
if ((rule.Tags ?? new List<string>()).Except(tags).Any())
return false;
Gender genderRule;
if (Enum.TryParse(rule.Gender, true, out genderRule) &&
((genderRule == Gender.Male && gender == Gender.Female) ||
(genderRule == Gender.Female && gender != Gender.Female)))
{
return false;
}
name = name.ToLower();
return new SuffixMatching(rule.TestSuffixes, matchWholeWord).IsMatched(name);
}