public static IList <string> GetOutlines(this CatalogSearchCriteriaBase criteria)
        {
            var result = criteria
                         .GetRawOutlines()
                         .Select(outline => StringsHelper.JoinNonEmptyStrings("/", criteria.CatalogId, outline).ToLowerInvariant())
                         .Distinct(StringComparer.OrdinalIgnoreCase)
                         .ToArray();

            return(result);
        }
        public static IList <string> GetPriorityFields(this CatalogSearchCriteriaBase criteria)
        {
            var allNames = criteria
                           .GetRawOutlines()
                           .Select(outline => StringsHelper.JoinNonEmptyStrings("_", "priority", criteria.CatalogId, outline.Split('/').LastOrDefault()).ToLowerInvariant())
                           .ToList();

            allNames.Add("priority");

            var result = allNames.Distinct(StringComparer.OrdinalIgnoreCase).ToArray();

            return(result);
        }