public async Task <DirectoryChildren> GetChildren(Guid directoryId, bool includeStaffOnly) { var directory = await _directoryRepository.GetById(directoryId); if (directory == null) { throw new NotFoundException("Directory not found."); } var children = new DirectoryChildren(); var subDirs = await _directoryRepository.GetSubdirectories(directoryId, includeStaffOnly); var files = await _documentRepository.GetByDirectory(directoryId); children.Subdirectories = subDirs.Select(BusinessMapper.Map <DirectoryModel>); children.Files = files.Select(BusinessMapper.Map <DocumentModel>); return(children); }
public async Task <DirectoryChildren> GetDirectoryChildren(Guid directoryId, bool includeRestricted) { using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork()) { var directory = await unitOfWork.Directories.GetById(directoryId); if (directory == null) { throw new NotFoundException("Directory not found."); } var children = new DirectoryChildren(); var subDirs = await unitOfWork.Directories.GetSubdirectories(directoryId, includeRestricted); var files = await unitOfWork.Documents.GetByDirectory(directoryId); children.Subdirectories = subDirs.Select(dir => new DirectoryModel(dir)); children.Files = files.Select(doc => new DocumentModel(doc)); return(children); } }