private (string Field, string Value) GetSiteFilter(Site siteId, SiteLevel siteLevel) { var levelValue = siteId.GetAttribute <SearchTermAttribute>()?.Term; if (levelValue == null) { // try to extract from name var site = siteId.ToString().Replace("feel", "").Replace("Site", ""); levelValue = Regex.Replace(site, "([A-Z])", " $1", RegexOptions.Compiled).Trim(); _logger.Log(LogCategory.Warn, $"Feel site {siteId} does not have SearchTerm set on enum."); } var field = siteLevel.GetAttribute <SearchTermAttribute>()?.Term ?? siteLevel.ToString().ToLowerInvariant(); return(field, levelValue); }