public static string[] GetThemeCssClassNames(this ICategorizable content)
{
if (content.Category == null)
{
return new string[0];
}
var cssClasses = new HashSet<string>(); // Although with some overhead, a HashSet allows us to ensure we never add a CSS class more than once
var categoryRepository = ServiceLocator.Current.GetInstance<CategoryRepository>();
foreach (var categoryName in content.Category.Select(category => categoryRepository.Get(category).Name.ToLower()))
{
switch (categoryName)
{
case "meet":
cssClasses.Add("theme1");
break;
case "track":
cssClasses.Add("theme2");
break;
case "plan":
cssClasses.Add("theme3");
break;
}
}
return cssClasses.ToArray();
}