static List<JsonPackage> GetThemes()
{
var installedThemes = new List<JsonPackage>();
var path = HttpContext.Current.Server.MapPath(string.Format("{0}themes/", Utils.ApplicationRelativeWebRoot));
foreach (var p in from d in Directory.GetDirectories(path)
let index = d.LastIndexOf(Path.DirectorySeparatorChar) + 1
select d.Substring(index)
into themeId select GetPackageManifest(themeId, Constants.Theme) ??
new JsonPackage {Id = themeId, PackageType = Constants.Theme, Location = "L"}
into p where p.Id != "RazorHost" select p)
{
if (string.IsNullOrEmpty(p.IconUrl))
p.IconUrl = DefaultIconUrl(p);
installedThemes.Add(p);
}
return installedThemes;
}