refactored to move AdminSiteTemplate out of SiteRepository

This commit is contained in:
sbwalker
2024-06-10 14:55:06 -04:00
parent 1c2abe794a
commit af35fb79fe
4 changed files with 768 additions and 733 deletions

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@ -35,17 +35,23 @@ namespace Oqtane.Repository
private List<SiteTemplate> LoadSiteTemplatesFromAssembly(List<SiteTemplate> siteTemplates, Assembly assembly)
{
SiteTemplate siteTemplate;
Type[] siteTemplateTypes = assembly.GetTypes().Where(item => item.GetInterfaces().Contains(typeof(ISiteTemplate))).ToArray();
foreach (Type siteTemplateType in siteTemplateTypes)
{
var siteTemplateObject = ActivatorUtilities.CreateInstance(_serviceProvider, siteTemplateType);
siteTemplate = new SiteTemplate
if (siteTemplateObject != null)
{
Name = (string)siteTemplateType.GetProperty("Name")?.GetValue(siteTemplateObject),
TypeName = Utilities.GetFullTypeName(siteTemplateType.AssemblyQualifiedName)
};
siteTemplates.Add(siteTemplate);
var typename = Utilities.GetFullTypeName(siteTemplateType.AssemblyQualifiedName);
var name = (string)siteTemplateType.GetProperty("Name")?.GetValue(siteTemplateObject);
if (typename != Constants.AdminSiteTemplate && !string.IsNullOrEmpty(name))
{
siteTemplates.Add(new SiteTemplate
{
Name = name,
TypeName = typename
});
}
}
}
return siteTemplates;
}