public async Task <Directory> ListDirectory(string directoryId, StorageSortType sortType = StorageSortType.DateDescending) { var directory = await database.DirectoryRepository.FindDirectoryWithContent(directoryId, currentUserId); if (directory == null) { return(null); } directory.Files = SortFiles(sortType, directory.Files); directory.Subdirectories = directory.Subdirectories.OrderByDescending(d => d.DateUpdated).ToList(); return(directory); }
private static List <File> SortFiles(StorageSortType sortType, IEnumerable <File> files) => (sortType switch
public async Task <List <File> > ListFiles(string directoryId = null, bool isPrivate = false, StorageSortType sortType = StorageSortType.DateDescending) { var files = (!isPrivate ? await database.FileRepository.GetWhere(f => f.UserId == null && f.DirectoryId == directoryId) : await database.FileRepository.GetWhere(f => f.UserId == currentUserId && f.DirectoryId == directoryId)) .ToList(); files = SortFiles(sortType, files); return(files); }
public async Task <IActionResult> Directory(string id, [FromQuery] bool isPrivate = false, StorageSortType sortType = StorageSortType.DateDescending) { directoryViewModel = ((DirectoryViewModel) new DirectoryViewModel(await storageManager.ListDirectory(id, sortType: sortType)) .WithError().WithAlert()).SetPrivate(isPrivate); return(directoryViewModel.Directory != null ? (IActionResult)View(directoryViewModel) : this.AccessDeniedPage()); }
public async Task <IActionResult> Private([FromQuery] StorageSortType sortType = StorageSortType.DateDescending) => View(storageViewModel = (StorageViewModel) new StorageViewModel(await storageManager.ListFiles(isPrivate: true, sortType: sortType), await storageManager.ListDirectories(isPrivate: true)).WithError().WithAlert());