@namespace Oqtane.Modules.Admin.ModuleCreator @inherits ModuleBase @inject NavigationManager NavigationManager @inject IModuleDefinitionService ModuleDefinitionService @inject IModuleService ModuleService
@code { private string _owner = string.Empty; private string _module = string.Empty; private string _description = string.Empty; private string _template = string.Empty; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; protected override void OnInitialized() { AddModuleMessage("Please Note That Once You Select The Create Module Button The Application Must Restart In Order To Complete The Process. If You Create An External Module You Will Need To Compile The Source Code In Order To Make It Functional.", MessageType.Info); } private async Task CreateModule() { try { if (!string.IsNullOrEmpty(_owner) && !string.IsNullOrEmpty(_module) && !string.IsNullOrEmpty(_template)) { var moduleDefinition = new ModuleDefinition { Owner = _owner.Replace(" ",""), Name = _module.Replace(" ", ""), Description = _description, Template = _template }; await ModuleDefinitionService.CreateModuleDefinitionAsync(moduleDefinition, ModuleState.ModuleId); } else { AddModuleMessage("You Must Provide An Owner, Module Name, And Template", MessageType.Warning); } } catch (Exception ex) { await logger.LogError(ex, "Error Creating Module"); } } }