@namespace Oqtane.Modules.Admin.Files
@inherits ModuleBase
@inject NavigationManager NavigationManager
@inject IFolderService FolderService
@inject IFileService FileService
@if (Files != null)
{
|
|
|
|
@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);
}
}
}