Ejemplo n.º 1
0
        public FileModel(String virtualPath, String userPath)
        {
            Name        = virtualPath;
            FullPath    = Encode("\\");
            Category    = new Category(FileType.DiscRoot);
            VirtualPath = virtualPath;
            String physicalPath = UtilityOperations.GetServerMapPath(virtualPath);

            CurrentFolderFiles = GetFoldersAndFiles(physicalPath);
            IsFolder           = true;
            if (String.Equals(virtualPath, UtilityOperations.GetDockerCommonFolderPath()))
            {
                IsCommonFolder = true;
            }
            if (String.Equals(virtualPath, UtilityOperations.GetDockerRootPath() + userPath))
            {
                IsRootDir         = true;
                parentVirtualPath = virtualPath;
            }
            else
            {
                IsRootDir         = false;
                parentVirtualPath = UtilityOperations.GetVirtualPath(Directory.GetParent(physicalPath).FullName);
            }
        }
Ejemplo n.º 2
0
        public JsonResult Upload(String virtualPath)
        {
            String jsonRet = "";

            if (String.IsNullOrEmpty(virtualPath) || virtualPath == "/")
            {
                virtualPath = UtilityOperations.GetDockerRootPath(Server);
            }
            String userName = HttpContext.User.Identity.Name;

            foreach (String file in Request.Files)
            {
                var fileContent  = Request.Files[file];
                var fileNiceName = Request.Form["fileNiceName"];
                var fileDesc     = Request.Form["fileDesc"];
                if (fileContent != null && fileContent.ContentLength > 0)
                {
                    String filePath            = Path.Combine(UtilityOperations.GetServerMapPath(virtualPath), Path.GetFileName(fileContent.FileName));
                    DocumentsOperations docOps = new DocumentsOperations();
                    //docOps.InsertFile(fileContent.FileName, virtualPath, fileNiceName, fileDesc);
                    docOps.InsertFileEncodeFileName(fileContent.FileName, virtualPath + "/" + fileContent.FileName, fileNiceName, fileDesc, userName, false);
                    fileContent.SaveAs(filePath);
                    jsonRet = "Uploaded";
                }
            }
            return(new JsonResult()
            {
                Data = jsonRet
            });
        }
Ejemplo n.º 3
0
        private String DecodePath(String path)
        {
            if (String.IsNullOrEmpty(path) || path == "/")
            {
                path = UtilityOperations.GetDockerRootPath(Server) + "/DCEDocker";
            }
            String decodePath = path.Replace("/", "\\");

            return(decodePath);
        }
Ejemplo n.º 4
0
        private String IsSystemAdministrator(String userName)
        {
            AuthenticationsAndAuthorizationsOperations aNaOps = new AuthenticationsAndAuthorizationsOperations();
            String virtualPath = UtilityOperations.GetDockerRootPath();

            if (!aNaOps.IsSystemAdministratorUser(userName) && !aNaOps.IsDMSAdministratorUser(userName))
            {
                virtualPath += "/" + userName;
            }
            return(virtualPath);
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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));
        }