Exemplo n.º 1
0
        /// <summary>
        /// 【5】为文件重命名
        /// </summary>
        /// <param name="filepath">文件全名(包含路径)</param>
        /// <param name="newName">新名称</param>
        public static void ReName(string filepath, string newName)
        {
            IEdmVault5 vault1 = new EdmVault5();

            vault1.Login(LogName, PWD, VaultName);
            IEdmVault7 vault2 = null;

            vault2 = (IEdmVault7)vault1;
            IEdmFile10  file = default(IEdmFile10);
            IEdmFolder5 ppoRetParentFolder;

            file = (IEdmFile11)vault2.GetFileFromPath(filepath, out ppoRetParentFolder);
            file.Rename(new Control().Handle.ToInt32(), newName);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 【6】pdm库内复制文件,返回pdm中文件全路径(包含文件名)
        /// </summary>
        /// <param name="oldFile">旧文件位置</param>
        /// <param name="newFolder">新文件夹位置</param>
        public static string CopyFile(string oldFile, string newFolder)
        {
            IEdmVault5 vault1 = new EdmVault5();

            vault1.Login(LogName, PWD, VaultName);
            IEdmVault7 vault2 = null;

            vault2 = (IEdmVault7)vault1;
            IEdmFile10  file = default(IEdmFile10);
            IEdmFolder5 ppoRetParentFolder;

            file = (IEdmFile11)vault2.GetFileFromPath(oldFile, out ppoRetParentFolder);
            IEdmFolder5 destFolder1 = default(IEdmFolder5);

            destFolder1 = vault2.GetFolderFromPath(newFolder);//新文件夹位置
            IEdmFolder8 destFolder = (IEdmFolder8)destFolder1;
            int         FileID     = 0;
            int         copyFileStatus;

            FileID = destFolder.CopyFile2(file.ID, ppoRetParentFolder.ID, new Control().Handle.ToInt32(), out copyFileStatus, "", (int)EdmCopyFlag.EdmCpy_Simple);
            return(destFolder1.LocalPath + "\\" + file.Name.Substring(file.Name.LastIndexOf('\\') + 1));
        }
Exemplo n.º 3
0
        public void OnCmd(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            IEdmVault10 edmVault = (IEdmVault10)poCmd.mpoVault;

            switch (poCmd.meCmdType)
            {
            case EdmCmdType.EdmCmd_Menu:
                // match the CmdID with the command ID specified above
                switch (poCmd.mlCmdID)
                {
                case 100:
                    // CustomAddin -> Action1
                    string message = "";

                    for (int i = 0; i < ppoData.Length; i++)
                    {
                        message += ppoData[i].mbsStrData1 + "\n";
                    }

                    edmVault.MsgBox(0, message);
                    break;

                case 200:
                    // CustomAddin -> Assy Only BOM
                    for (int i = 0; i < ppoData.Length; i++)
                    {
                        IEdmFile10 file = (IEdmFile10)edmVault.GetObject(EdmObjectType.EdmObject_File, ppoData[i].mlObjectID1);

                        IEdmBomView3 bomView = (IEdmBomView3)file.GetComputedBOM("BOM", 0, "@", (int)EdmBomFlag.EdmBf_AsBuilt | (int)EdmBomFlag.EdmBf_ShowSelected);

                        string tempFileName = System.IO.Path.GetTempFileName();
                        bomView.SaveToCSV(tempFileName, true);

                        string[] lines = System.IO.File.ReadAllLines(tempFileName);

                        string csvFile = System.IO.Path.GetTempFileName() + ".csv";

                        using (System.IO.TextWriter writer = new System.IO.StreamWriter(csvFile)) {
                            for (int j = 0; j < lines.Length; j++)
                            {
                                if (j == 0)
                                {
                                    writer.WriteLine(lines[j]);
                                }
                                else if (lines[j].ToUpper().Contains("SLDASM"))
                                {
                                    writer.WriteLine(lines[j]);
                                }
                            }

                            System.Diagnostics.Process.Start(csvFile);
                        }
                    }
                    break;

                default:
                    break;
                }
                break;
            }
        }