public ActionResult SearchFile(String searchValue, String virtualPath) { FileModel fileModel = new FileModel(virtualPath, ""); fileModel.IsRootDir = true; fileModel.IsSearchResult = true; String userName = HttpContext.User.Identity.Name; DocumentsOperations docOps = new DocumentsOperations(); AuthenticationsAndAuthorizationsOperations aNaOps = new AuthenticationsAndAuthorizationsOperations(); if (aNaOps.IsSystemAdministratorUser(userName) || aNaOps.IsDMSAdministratorUser(userName)) { userName = null; } String[] usersPath = docOps.GetAllUsersFolderInArray(UtilityOperations.GetDockerRootPath() + "/"); List <FileModel> searchCurrentResult = new List <FileModel>(); List <FileModel> searchCommonResult = new List <FileModel>(); foreach (String vPath in docOps.GetVirtualPathsBySearchValue(searchValue, userName)) { FileModel file = null; if (vPath.StartsWith(UtilityOperations.GetDockerCommonFolderPath())) { file = (new FileModel()).GetFolderOrFile(vPath); file.IsCommonFolder = true; if (usersPath.Contains(file.VirtualPath)) { file.IsUserFolder = true; } searchCommonResult.Add(file); } else if (vPath.StartsWith(virtualPath) && !String.Equals(vPath, virtualPath)) { file = (new FileModel()).GetFolderOrFile(vPath); if (usersPath.Contains(file.VirtualPath)) { file.IsUserFolder = true; } searchCurrentResult.Add(file); } } fileModel.CurrentFolderFiles = searchCurrentResult; fileModel.CommonFolderFiles = searchCommonResult; fileModel.Tags = new List <String>(); return(View(fileModel)); }
private FileModel FilterAccessibleFolderAndFiles(String virtualPath, String userName) { FileModel fileModel = null; AuthenticationsAndAuthorizationsOperations aNaOps = new AuthenticationsAndAuthorizationsOperations(); DocumentsOperations docOps = new DocumentsOperations(); FileModel commonFileModel = new FileModel(UtilityOperations.GetDockerCommonFolderPath(), ""); if (!aNaOps.IsSystemAdministratorUser(userName) && !aNaOps.IsDMSAdministratorUser(userName)) { fileModel = new FileModel(virtualPath, "/" + userName); List <String> dbFilesVPath = docOps.GetFilesByUserName(userName).Select(file => file.VirtualPath).ToList(); if (fileModel.IsRootDir) { fileModel.CommonFolderFiles = commonFileModel.CurrentFolderFiles.Where(file => dbFilesVPath.Contains(file.VirtualPath)).ToList(); } else { fileModel.CommonFolderFiles = new List <FileModel>(); } fileModel.Tags = docOps.GetAllTagsByUserId(aNaOps.GetUserIDByUserName(userName)); } else { fileModel = new FileModel(virtualPath, ""); String[] usersPath = docOps.GetAllUsersFolderInArray(UtilityOperations.GetDockerRootPath() + "/"); foreach (FileModel file in fileModel.CurrentFolderFiles) { if (usersPath.Contains(file.VirtualPath)) { file.IsUserFolder = true; } } if (fileModel.IsRootDir) { fileModel.CommonFolderFiles = commonFileModel.CurrentFolderFiles; } else { fileModel.CommonFolderFiles = new List <FileModel>(); } fileModel.Tags = docOps.GetAllTagsByUserId(aNaOps.GetUserIDByUserName(userName)); } return(fileModel); }
public ActionResult SearchTags(String virtualPath, String tagName) { FileModel fileModel = new FileModel(virtualPath, ""); fileModel.IsRootDir = true; fileModel.IsSearchResult = true; DocumentsOperations docOps = new DocumentsOperations(); AuthenticationsAndAuthorizationsOperations aNaOps = new AuthenticationsAndAuthorizationsOperations(); String[] usersPath = docOps.GetAllUsersFolderInArray(UtilityOperations.GetDockerRootPath() + "/"); List <FileModel> searchCurrentResult = new List <FileModel>(); List <FileModel> searchCommonResult = new List <FileModel>(); foreach (String vPath in docOps.GetVirtualPathsByTagName(aNaOps.GetUserIDByUserName(HttpContext.User.Identity.Name), tagName)) { FileModel file = null; if (vPath.StartsWith(UtilityOperations.GetDockerCommonFolderPath())) { file = (new FileModel()).GetFolderOrFile(vPath); file.IsCommonFolder = true; if (usersPath.Contains(file.VirtualPath)) { file.IsUserFolder = true; } searchCommonResult.Add(file); } else { file = (new FileModel()).GetFolderOrFile(vPath); if (usersPath.Contains(file.VirtualPath)) { file.IsUserFolder = true; } searchCurrentResult.Add(file); } } fileModel.CurrentFolderFiles = searchCurrentResult; fileModel.CommonFolderFiles = searchCommonResult; fileModel.Tags = new List <String>(); return(View(fileModel)); }