@namespace Oqtane.Modules.Admin.ModuleDefinitions @inherits ModuleBase @inject NavigationManager NavigationManager @inject IFileService FileService @inject IModuleDefinitionService ModuleDefinitionService @inject IPackageService PackageService
@if (packages != null) {

Available Modules

Name Version
@context.Name @context.Version
} @if (uploaded) { } Cancel @code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } } bool uploaded = false; List packages; FileUpload fileupload; protected override async Task OnInitializedAsync() { List moduledefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(PageState.Site.SiteId); packages = await PackageService.GetPackagesAsync("module"); foreach(Package package in packages.ToArray()) { if (moduledefinitions.Exists(item => Utilities.GetTypeName(item.ModuleDefinitionName) == package.PackageId)) { packages.Remove(package); } } } private async Task UploadFile() { string[] files = await fileupload.GetFiles(); if (files.Length > 0) { if (files[0].Contains(".Module.")) { try { if (await FileService.UploadFilesAsync("Modules", files, "")) { ModuleInstance.AddModuleMessage("Module Uploaded Successfully. Click Install To Complete Installation.", MessageType.Success); uploaded = true; StateHasChanged(); } else { ModuleInstance.AddModuleMessage("Module Upload Failed.", MessageType.Error); } } catch (Exception ex) { ModuleInstance.AddModuleMessage("Module Upload Failed. " + ex.Message, MessageType.Error); } } else { ModuleInstance.AddModuleMessage("Invalid Module Package", MessageType.Error); } } else { ModuleInstance.AddModuleMessage("You Must Select A Module To Upload", MessageType.Warning); } } private async Task InstallModules() { await ModuleDefinitionService.InstallModuleDefinitionsAsync(); NavigationManager.NavigateTo(NavigateUrl(Reload.Application)); } private async Task DownloadModule(string moduledefinitionname, string version) { await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules"); ModuleInstance.AddModuleMessage("Module Downloaded Successfully. Click Install To Complete Installation.", MessageType.Success); uploaded = true; StateHasChanged(); } }