@namespace Oqtane.Modules.Admin.Files @inherits ModuleBase @inject NavigationManager NavigationManager @inject IFolderService FolderService @inject IFileService FileService @if (Files != null) {
   
  Name Modified Type Size
@context.Name @context.ModifiedOn @context.Extension.ToUpper() File @(context.Size / 1000) KB
@if (Files.Count == 0) {
No Files Exist In Selected Folder
} } @code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Admin; } } List Folders; int folderid = -1; List Files; Uri uri; protected override async Task OnParametersSetAsync() { try { Folders = await FolderService.GetFoldersAsync(PageState.Site.SiteId); if (folderid == -1 && Folders.Count > 0) { folderid = Folders[0].FolderId; await GetFiles(); } uri = new Uri(NavigationManager.Uri); } catch (Exception ex) { await logger.LogError(ex, "Error Loading Files {Error}", ex.Message); AddModuleMessage("Error Loading Files", MessageType.Error); } } private async Task GetFiles() { Files = await FileService.GetFilesAsync(folderid); } private async void FolderChanged(ChangeEventArgs e) { try { folderid = int.Parse((string)e.Value); await GetFiles(); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error Loading Files {Error}", ex.Message); AddModuleMessage("Error Loading Files", MessageType.Error); } } private async Task DeleteFile(File file) { try { await FileService.DeleteFileAsync(file.FileId); await logger.LogInformation("File Deleted {File}", file.Name); AddModuleMessage("File " + file.Name + " Deleted", MessageType.Success); await GetFiles(); StateHasChanged(); } catch (Exception ex) { await logger.LogError(ex, "Error Deleting File {File} {Error}", file.Name, ex.Message); AddModuleMessage("Error Deleting File " + file.Name, MessageType.Error); } } }