public void GenerateTypes(params EntityDomain[] entities) { var factoryCSharpDataType = new CSharpDataTypeFactory(); var entitiesTemplates = entities.Select(entity => new EntityTemplate(entity, factoryCSharpDataType)); var templates = TemplateService.LoadTemplates(); var classCode = new List <string>(); foreach (var template in templates) { foreach (var entityTemplate in entitiesTemplates) { classCode.Add(TemplateService.Generate(template, entityTemplate)); } } Assembly dynamicAssembly = CompilerService.GenerateAssemblyFromCode(_logger, classCode.ToArray()); var types = dynamicAssembly.GetTypes(); Controllers = types.Where(type => type.BaseType == typeof(Controller)); Entities = types.Where(type => type.ImplementsGericType(typeof(IGenericEntity <>))); _partManager.ApplicationParts.Add(new AssemblyPart(dynamicAssembly)); }
public void Generate(TestingClass testingClass) { templateService.Generate(testingClass); }