Exemplo n.º 1
0
        private static bool AddFile2Vault(IEdmVault5 vault, string filePath, out IEdmFile5 edmFile)
        {
            edmFile = null;
            try
            {
                IEdmFolder9 parentFolder = vault.GetFolderFromPath(Path.GetDirectoryName(filePath)) as IEdmFolder9;
                if (parentFolder == null)
                {
                    //文件夹也是新增的
                    string fileFolder = Path.GetDirectoryName(filePath).ToLower();
                    string vaultPath  = vault.RootFolderPath.ToLower();
                    fileFolder = fileFolder.Replace(vault.RootFolderPath.ToLower(), "");
                    string[] subFolders = fileFolder.Split('/', '\\');
                    if (!RecursivelyAddFolder(vault, vault.RootFolder, subFolders, out parentFolder))
                    {
                        return(false);
                    }
                }

                int addFileStatus;
                parentFolder.AddFile2(0, filePath, out addFileStatus, "", (int)EdmAddFlag.EdmAdd_Simple);
                IEdmFolder5 folder;
                return(GetFileFromPath(vault, filePath, out edmFile, out folder));
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemplo n.º 2
0
        private static bool RecursivelyAddFolder(IEdmVault5 vault, IEdmFolder5 rootFolder, string[] subFolders, out IEdmFolder9 outFolder)
        {
            outFolder = null;

            if (vault == null || rootFolder == null)
            {
                return(false);
            }

            if (subFolders.Length == 0)
            {
                return(true);
            }

            IEdmFolder5 tempFolder = rootFolder;

            try
            {
                for (int i = 0; i < subFolders.Length; ++i)
                {
                    IEdmFolder5 subFolder;
                    string      folderPath = Path.Combine(tempFolder.LocalPath, subFolders[i]);
                    subFolder = vault.GetFolderFromPath(folderPath);
                    if (subFolder == null)
                    {
                        subFolder = tempFolder.AddFolder(0, subFolders[i]);
                        if (subFolder == null)
                        {
                            return(false);
                        }
                    }
                    tempFolder = subFolder;
                }

                outFolder = tempFolder as IEdmFolder9;

                return(outFolder != null);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }