public HttpResponseMessage loadFileTree(PostedDataEntity postedData) { // get request body string relDirPath = postedData.path; // get file list from storage path try { // get all the files from a directory if (string.IsNullOrEmpty(relDirPath)) { relDirPath = globalConfiguration.GetEditorConfiguration().GetFilesDirectory(); } else { relDirPath = Path.Combine(globalConfiguration.GetEditorConfiguration().GetFilesDirectory(), relDirPath); } List <FileDescriptionEntity> fileList = new List <FileDescriptionEntity>(); List <string> allFiles = new List <string>(Directory.GetFiles(relDirPath)); allFiles.AddRange(Directory.GetDirectories(relDirPath)); allFiles.Sort(new FileNameComparator()); allFiles.Sort(new FileTypeComparator()); foreach (string file in allFiles) { FileInfo fileInfo = new FileInfo(file); // check if current file/folder is hidden if (fileInfo.Attributes.HasFlag(FileAttributes.Hidden) || Path.GetFileName(file).Equals(Path.GetFileName(globalConfiguration.GetEditorConfiguration().GetFilesDirectory())) || Path.GetFileName(file).Equals(".gitkeep")) { // ignore current file and skip to next one continue; } else { FileDescriptionEntity fileDescription = new FileDescriptionEntity(); fileDescription.guid = Path.GetFullPath(file); fileDescription.name = Path.GetFileName(file); // set is directory true/false fileDescription.isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory); // set file size if (!fileDescription.isDirectory) { fileDescription.size = fileInfo.Length; } // add object to array list fileList.Add(fileDescription); } } return(Request.CreateResponse(HttpStatusCode.OK, fileList)); } catch (System.Exception ex) { return(Request.CreateResponse(HttpStatusCode.OK, new Resources().GenerateException(ex))); } }
public List <FileDescriptionEntity> LoadFiles(PostedDataEntity fileTreeRequest) { // get request body string relDirPath = fileTreeRequest.path; // get file list from storage path try { // get all the files from a directory if (string.IsNullOrEmpty(relDirPath)) { relDirPath = globalConfiguration.Comparison.GetFilesDirectory(); } else { relDirPath = Path.Combine(globalConfiguration.Comparison.GetFilesDirectory(), relDirPath); } List <string> allFiles = new List <string>(Directory.GetFiles(relDirPath)); allFiles.AddRange(Directory.GetDirectories(relDirPath)); List <FileDescriptionEntity> fileList = new List <FileDescriptionEntity>(); allFiles.Sort(new FileNameComparator()); allFiles.Sort(new FileTypeComparator()); foreach (string file in allFiles) { System.IO.FileInfo fileInfo = new System.IO.FileInfo(file); // check if current file/folder is hidden if (!(fileInfo.Attributes.HasFlag(FileAttributes.Hidden) || Path.GetFileName(file).StartsWith(".") || Path.GetFileName(file).Equals(Path.GetFileName(globalConfiguration.Comparison.GetFilesDirectory())) || Path.GetFileName(file).Equals(Path.GetFileName(globalConfiguration.Comparison.GetResultDirectory())))) { FileDescriptionEntity fileDescription = new FileDescriptionEntity { guid = Path.GetFullPath(file), name = Path.GetFileName(file), // set is directory true/false isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory) }; // set file size if (!fileDescription.isDirectory) { fileDescription.size = fileInfo.Length; } // add object to array list fileList.Add(fileDescription); } } return(fileList); } catch (Exception ex) { throw new FileLoadException("Exception occurred while loading files", ex); } }
public HttpResponseMessage GetFileTree() { try { List <FileDescriptionEntity> filesList = new List <FileDescriptionEntity>(); if (!string.IsNullOrEmpty(globalConfiguration.GetViewerConfiguration().GetFilesDirectory())) { var currentPath = globalConfiguration.GetViewerConfiguration().GetFilesDirectory(); List <string> allFiles = new List <string>(Directory.GetFiles(currentPath)); allFiles.AddRange(Directory.GetDirectories(currentPath)); string cacheFolderName = globalConfiguration.GetViewerConfiguration().GetCacheFolderName(); allFiles.Sort(new FileNameComparator()); allFiles.Sort(new FileDateComparator()); foreach (string file in allFiles) { System.IO.FileInfo fileInfo = new System.IO.FileInfo(file); // check if current file/folder is hidden if (!(cacheFolderName.Equals(Path.GetFileName(file)) || Path.GetFileName(file).StartsWith(".") || fileInfo.Attributes.HasFlag(FileAttributes.Hidden) || Path.GetFileName(file).Equals(Path.GetFileName(globalConfiguration.GetViewerConfiguration().GetFilesDirectory())))) { FileDescriptionEntity fileDescription = new FileDescriptionEntity { guid = Path.GetFullPath(file), name = Path.GetFileName(file), // set is directory true/false isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory), }; // set file size if (!fileDescription.isDirectory) { fileDescription.size = fileInfo.Length; } // add object to array list filesList.Add(fileDescription); } } } return(this.Request.CreateResponse(HttpStatusCode.OK, filesList)); } catch (Exception ex) { return(this.Request.CreateResponse(HttpStatusCode.OK, new Resources().GenerateException(ex))); } }
public HttpResponseMessage loadFileTree(AnnotationPostedDataEntity fileTreeRequest) { string relDirPath = fileTreeRequest.path; // get file list from storage path FileTreeOptions fileListOptions = new FileTreeOptions(relDirPath); // get temp directory name string tempDirectoryName = new AnnotationConfig().TempFolderName; try { FileTreeContainer fileListContainer = AnnotationImageHandler.LoadFileTree(fileListOptions); List <FileDescriptionEntity> fileList = new List <FileDescriptionEntity>(); // parse files/folders list foreach (FileDescription fd in fileListContainer.FileTree) { FileDescriptionEntity fileDescription = new FileDescriptionEntity(); fileDescription.guid = fd.Guid; // check if current file/folder is temp directory or is hidden FileInfo fileInfo = new FileInfo(fileDescription.guid); if (tempDirectoryName.ToLower().Equals(fileDescription.guid) || fileInfo.Attributes.HasFlag(FileAttributes.Hidden)) { // ignore current file and skip to next one continue; } else { // set file/folder name fileDescription.name = fd.Name; } // set file type fileDescription.docType = fd.DocumentType; // set is directory true/false fileDescription.isDirectory = fd.IsDirectory; // set file size fileDescription.size = fd.Size; // add object to array list fileList.Add(fileDescription); } return(Request.CreateResponse(HttpStatusCode.OK, fileList)); } catch (System.Exception ex) { // set exception message return(Request.CreateResponse(HttpStatusCode.OK, new Resources().GenerateException(ex))); } }
public IEnumerable <FileDescriptionEntity> LoadFileTree() { List <FileDescriptionEntity> fileList = new List <FileDescriptionEntity>(); if (!string.IsNullOrEmpty(metadataConfiguration.GetFilesDirectory())) { var currentPath = metadataConfiguration.GetFilesDirectory(); List <string> allFiles = new List <string>(Directory.GetFiles(currentPath)); allFiles.AddRange(Directory.GetDirectories(currentPath)); // TODO: get temp directory name string tempDirectoryName = "temp"; allFiles.Sort(new FileNameComparator()); allFiles.Sort(new FileDateComparator()); foreach (string file in allFiles) { FileInfo fileInfo = new FileInfo(file); // check if current file/folder is hidden if (!(tempDirectoryName.Equals(Path.GetFileName(file)) || fileInfo.Attributes.HasFlag(FileAttributes.Hidden) || fileInfo.Name.StartsWith(".") || Path.GetFileName(file).Equals(Path.GetFileName(metadataConfiguration.GetFilesDirectory())))) { FileDescriptionEntity fileDescription = new FileDescriptionEntity(); fileDescription.guid = Path.GetFileName(file); fileDescription.name = Path.GetFileName(file); // set is directory true/false fileDescription.isDirectory = fileInfo.Attributes.HasFlag(FileAttributes.Directory); // set file size if (!fileDescription.isDirectory) { fileDescription.size = fileInfo.Length; } // add object to array list fileList.Add(fileDescription); } } } return(fileList); }