Exemple #1
0
        public void BrowseButton_Click(System.Object sender, System.EventArgs e)
        {
            try
            {
                //Set the initial directory in the Select a file dialog
                OpenFileDialog1.InitialDirectory = vault1.RootFolderPath;
                //Show the Select a file dialog
                System.Windows.Forms.DialogResult DialogResult;
                DialogResult = OpenFileDialog1.ShowDialog();

                if (!(DialogResult == System.Windows.Forms.DialogResult.OK))
                {
                    // Do nothing
                }
                else
                {
                    // Browse for a file whose serial number to set
                    // File's data card must have a Part Number associated
                    // with a serial number generator and must be checked out
                    string fileName = OpenFileDialog1.FileName;
                    FileListBox.Items.Add(fileName);
                    IEdmFolder5 retFolder = default(IEdmFolder5);
                    aFile = vault1.GetFileFromPath(fileName, out retFolder);
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #2
0
        //Display the card of the selected file
        private void ShowCard(IEdmFolder5 folder, int fileID)
        {
            try
            {
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }

                if (!vault1.IsLoggedIn)
                {
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }
                IEdmVault10 vault = (IEdmVault10)vault1;

                EdmCardViewParams @params = default(EdmCardViewParams);
                @params.mlFileID           = fileID;
                @params.mlFolderID         = folder.ID;
                @params.mlCardID           = 0;
                @params.mlX                = 40;
                @params.mlY                = 300;
                @params.mhParentWindow     = this.Handle.ToInt32();
                @params.mlEdmCardViewFlags = (int)EdmCardViewFlag.EdmCvf_Normal;

                //Create the card view interface
                view = vault.CreateCardViewEx2(@params, this);

                if (view == null)
                {
                    Interaction.MsgBox("The file does not have a card.");
                    return;
                }

                //Set input focus to the first control in the card
                view.SetFocus(0);

                //Enable all controls in the card
                view.Update(EdmCardViewUpdateType.EdmCvut_EnableCtrl);

                //Get the size needed to display the card
                int width  = 0;
                int height = 0;
                view.GetCardSize(out width, out height);

                //Resize the form window to make room for the card
                this.Width  = (width + 100);
                this.Height = (height + 400);
                view.ShowWindow(true);

                SaveCard.Enabled = false;
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #3
0
        public void OnCmd(ref EdmCmd poCmd, ref System.Array ppoData)
        {
            //public void OnCmd(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
            //{
            EdmVault5 vault = (EdmVault5)poCmd.mpoVault;

            if (poCmd.meCmdType == EdmCmdType.EdmCmd_Menu)
            {
                if (poCmd.mlCmdID == 1)
                {
                    if (ppoData.Length < 0)
                    {
                        System.Windows.Forms.MessageBox.Show("请选择一个文件");
                        return;
                    }
                    if (ppoData.Length > 1)
                    {
                        System.Windows.Forms.MessageBox.Show("只能选择一个文件");
                        return;
                    }
                    int fileId         = 0;
                    int parentFolderId = 0;
                    foreach (EdmCmdData AffectedFile in ppoData)
                    {
                        fileId         = AffectedFile.mlObjectID1;
                        parentFolderId = AffectedFile.mlObjectID3;
                    }
                    if (fileId == 0)
                    {
                        System.Windows.Forms.MessageBox.Show("请选择一个文件");
                        return;
                    }
                    ExportExcelForm form = new ExportExcelForm();

                    IEdmFile5   file     = (IEdmFile5)vault.GetObject(EdmObjectType.EdmObject_File, fileId);
                    IEdmFolder5 folder   = (IEdmFolder5)vault.GetObject(EdmObjectType.EdmObject_Folder, parentFolderId);
                    string      filePath = folder.LocalPath + "\\" + file.Name;


                    form.selectFile = filePath;
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        string        outFile   = form.saveFilePath;
                        FormStatusBar statusBar = new FormStatusBar("明细表导出", "正在导出,请稍后....");
                        statusBar.UserCustomEvent += (obj) =>
                        {
                            exportExcel(vault, form.selectFile, form.saveFilePath);
                        };
                        statusBar.ShowDialog();
                    }

                    GC.Collect();
                }
            }
        }
Exemple #4
0
        private static bool GetReferencedFiles(IEdmVault5 vault, IEdmReference10 reference, string filePath, string projectName, ref List <string> refFiles)
        {
            try
            {
                bool bTop = false;
                if (reference == null)
                {
                    bTop = true;
                    SWFileType type = GetSWFileType(filePath);
                    if (type != SWFileType.UNKNOWN)
                    {
                        refFiles.Add(filePath);
                        IEdmFile5   edmFile;
                        IEdmFolder5 edmFolder = null;
                        if (!GetFileFromPath(vault, filePath, out edmFile, out edmFolder))
                        {
                            return(false);
                        }
                        reference = (IEdmReference10)edmFile.GetReferenceTree(edmFolder.ID);
                        if (type == SWFileType.ASSEMBLY)    //装配体递归
                        {
                            GetReferencedFiles(vault, reference, "", projectName, ref refFiles);
                        }
                    }
                }
                else
                {
                    IEdmPos5 pos = default(IEdmPos5);
                    pos = reference.GetFirstChildPosition3(projectName, bTop, true, (int)EdmRefFlags.EdmRef_File, "", 0);
                    while ((!pos.IsNull))
                    {
                        IEdmReference10 @ref = (IEdmReference10)reference.GetNextChild(pos);
                        SWFileType      type = GetSWFileType(@ref.FoundPath);
                        if (type != SWFileType.UNKNOWN)
                        {
                            if (!refFiles.Contains(@ref.FoundPath))
                            {
                                refFiles.Add(@ref.FoundPath);
                                if (type == SWFileType.ASSEMBLY)    //装配体递归
                                {
                                    GetReferencedFiles(vault, @ref, "", projectName, ref refFiles);
                                }
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #5
0
        public static void UnLock(IEdmVault7 vault, List <Files.Info> files)
        {
            Logger.Add($"Начало регистрации {files?.Count} файлов.");

            try
            {
                ppoSelection  = new EdmSelItem[files.Count];
                batchUnlocker = (IEdmBatchUnlock)vault.CreateUtility(EdmUtility.EdmUtil_BatchUnlock);
                var i = 0;
                foreach (var file in files)
                {
                    try
                    {
                        var filePath = file.FolderPath + "\\" + file.ConvertFile;
                        fileNameErr = filePath;
                        IEdmFolder5 folder = default(IEdmFolder5);
                        aFile   = vault.GetFileFromPath(filePath, out folder);
                        aPos    = aFile.GetFirstFolderPosition();
                        aFolder = aFile.GetNextFolder(aPos);

                        ppoSelection[i]          = new EdmSelItem();
                        ppoSelection[i].mlDocID  = aFile.ID;
                        ppoSelection[i].mlProjID = aFolder.ID;

                        i = i + 1;
                    }
                    catch (Exception ex)
                    {
                        Logger.Add($"Ошибка при добавлении файла на регистрацию: {ex.Message} Path: {file.FullFilePath} IdPDM: {file.IdPDM} FolderID: {file.FolderID} Version: {file.CurrentVersion}");
                    }
                }

                // Add selections to the batch of files to check in
                batchUnlocker.AddSelection((EdmVault5)vault, ppoSelection);
                if ((batchUnlocker != null))
                {
                    batchUnlocker.CreateTree(0, (int)EdmUnlockBuildTreeFlags.Eubtf_ShowCloseAfterCheckinOption + (int)EdmUnlockBuildTreeFlags.Eubtf_MayUnlock);
                    fileList = (IEdmSelectionList6)batchUnlocker.GetFileList((int)EdmUnlockFileListFlag.Euflf_GetUnlocked + (int)EdmUnlockFileListFlag.Euflf_GetUndoLocked + (int)EdmUnlockFileListFlag.Euflf_GetUnprocessed);
                    batchUnlocker.UnlockFiles(0, null);
                }
            }
            catch (COMException ex)
            {
                Logger.Add("ERROR BatchUnLock файл: '" + fileNameErr + "', " + ex.StackTrace + " " + ex.Message);
            }
            catch (Exception ex)
            {
                Logger.Add("ERROR BatchUnLock: '" + fileNameErr + "', " + ex.StackTrace + " " + ex.Message);
            }

            Logger.Add($"Завершена регистрации {files?.Count} файлов.");
        }
Exemple #6
0
 private static bool TryLockFile(IEdmFile5 file, IEdmFolder5 parentFolder, out int?edmResultCode)
 {
     try
     {
         file.LockFile(parentFolder.ID, 0, (int)EdmLockFlag.EdmLock_Simple);
         edmResultCode = null;
         return(true);
     }
     catch (System.Runtime.InteropServices.COMException ex)
     {
         edmResultCode = ex.ErrorCode;
         return(false);
     }
 }
Exemple #7
0
        public void ShowReferences(EdmVault5 vault, string filePath)
        {
            // ERROR: Not supported in C#: OnErrorStatement
            string      projName = null;
            IEdmFile5   file     = default(IEdmFile5);
            IEdmFolder5 folder   = default(IEdmFolder5);

            file = vault.GetFileFromPath(filePath, out folder);

            IEdmReference5 @ref = default(IEdmReference5);

            @ref = file.GetReferenceTree(folder.ID, 0);
            AddReferences(@ref, 0, ref projName);
        }
Exemple #8
0
        public void GetReferencedFiles(IEdmReference10 Reference, string FilePath, int Level, string ProjectName, ref Dictionary <string, string> RefFilesDictionary)
        {
            try
            {
                bool Top = false;
                if (Reference == null)
                {
                    //This is the first time this function is called for this
                    //reference tree; i.e., this is the root
                    Top = true;
                    //Add the top-level file path to the dictionary
                    RefFilesDictionary.Add(FilePath, Level.ToString());
                    IEdmFile5   File         = null;
                    IEdmFolder5 ParentFolder = null;
                    File = vault1.GetFileFromPath(FilePath, out ParentFolder);
                    //Get the reference tree for this file
                    Reference = (IEdmReference10)File.GetReferenceTree(ParentFolder.ID);
                    GetReferencedFiles(Reference, "", Level + 1, ProjectName, ref RefFilesDictionary);
                }
                else
                {
                    //Execute this code when this function is called recursively;
                    //i.e., this is not the top-level IEdmReference in the tree

                    //Recursively traverse the references
                    IEdmPos5        pos        = default(IEdmPos5);
                    IEdmReference10 Reference2 = (IEdmReference10)Reference;
                    pos = Reference2.GetFirstChildPosition3(ProjectName, Top, true, (int)EdmRefFlags.EdmRef_File, "", 0);
                    IEdmReference10 @ref = default(IEdmReference10);
                    while ((!pos.IsNull))
                    {
                        @ref = (IEdmReference10)Reference.GetNextChild(pos);
                        RefFilesDictionary.Add(@ref.FoundPath, Level.ToString());
                        GetReferencedFiles(@ref, "", Level + 1, ProjectName, ref RefFilesDictionary);
                    }
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #9
0
 internal IEdmFile5 GetEdmFile5(string path, out IEdmFolder5 folder)
 {
     folder = null;
     try
     {
         IEdmFolder5 oFolder;
         var         edmFile5 = PdmExemplar.GetFileFromPath(path, out oFolder);
         edmFile5.GetFileCopy(0, 0, oFolder.ID, (int)EdmGetFlag.EdmGet_RefsVerLatest);
         folder = oFolder;
         return(edmFile5);
     }
     catch (Exception exception)
     {
         //Логгер.Ошибка($"Message - {exception.ToString()}\nPath - {path}\nStackTrace - {exception.StackTrace}", null, "GetEdmFile5", "SwEpdm");
         throw exception;
     }
 }
Exemple #10
0
 internal static IEdmFile5 GetEdmFile5(string path, out IEdmFolder5 folder)
 {
     folder = null;
     try
     {
         IEdmFolder5 oFolder;
         var         edmFile5 = edmVault5.GetFileFromPath(path, out oFolder);
         edmFile5.GetFileCopy(0, 0, oFolder.ID, (int)EdmGetFlag.EdmGet_RefsVerLatest);
         folder = oFolder;
         return(edmFile5);
     }
     catch (Exception exception)
     {
         Логгер.Ошибка($"Message - {exception.Message}\nPath - {path}\nStackTrace - {exception.StackTrace}", null, "GetEdmFile5", "SwEpdm");
         //MessageBox.Show(exception.Message + "\n" + exception.StackTrace + "\n" + path);
         return(null);
     }
 }
Exemple #11
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);
            }
        }
Exemple #12
0
        /// <summary>
        /// 【10】获取文件版本
        /// </summary>
        /// <param name="path">文件在PDM中路径</param>
        /// <returns></returns>
        public static int GetDrawVersion(string path)
        {
            if (vault == null)
            {
                vault = new EdmVault5();
            }
            if (!vault.IsLoggedIn)
            {
                vault.LoginAuto(VaultName, new Control().Handle.ToInt32());
            }
            IEdmFolder5 retFolder = default(IEdmFolder5);
            //aFile = vault1.GetFileFromPath(FileName, out retFolder);
            IEdmFile5 file = null;

            file = vault.GetFileFromPath(path, out retFolder);
            IEdmEnumeratorVersion5 enumVersion;

            enumVersion = (IEdmEnumeratorVersion5)file;
            return(enumVersion.VersionCount);
        }
Exemple #13
0
        private void OnTaskRun(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            IEdmTaskInstance inst = default(IEdmTaskInstance);

            inst = (IEdmTaskInstance)poCmd.mpoExtra;

            IEdmVault5 vault = new EdmVault5();

            try
            {
                for (int i = 0; i < ppoData.Length; i++)
                {
                    if (((EdmCmdData)ppoData.GetValue(0)).mlObjectID1 != 0)
                    {
                        vault = (IEdmVault5)poCmd.mpoVault;
                        IEdmObject5 folderObject = vault.GetObject(EdmObjectType.EdmObject_Folder, ((EdmCmdData)ppoData.GetValue(i)).mlObjectID2);
                        IEdmFolder5 ef           = (IEdmFolder5)folderObject;
                        IEdmObject5 fileObject   = vault.GetObject(EdmObjectType.EdmObject_File,
                                                                   ((EdmCmdData)ppoData.GetValue(i)).mlObjectID1);
                        string fullpath = ef.LocalPath + "\\" + fileObject.Name;

                        DxfLoad dxfl = new DxfLoad();
                        var     sp   = dxfl.GetSpecification(fullpath, "");
                        dxfl.UpLoadDxf(sp);
                        XmlFile xf = new XmlFile();
                        xf.DownloadXml(fullpath);
                    }

                    SolidWorksPdmAdapter.Instance.KillProcsses("SLDWORKS");
                    MessageObserver.Instance.SetMessage("End upload.\n");
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                inst.SetStatus(EdmTaskStatus.EdmTaskStat_DoneFailed, ex.ErrorCode, "The test task failed!");
            }
            catch (Exception ex)
            {
                MessageObserver.Instance.SetMessage(ex.Message);
            }
        }
Exemple #14
0
        private void OnMenu(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
        {
            try
            {
                Logger.Instance.RootDirectory             = tempAppFolder;
                MessageObserver.Instance.ReceivedMessage += Program.Instance_ReceivedMessage;

                for (int i = 0; i < ppoData.Length; i++)
                {
                    if (((EdmCmdData)ppoData.GetValue(0)).mlObjectID1 != 0)
                    {
                        IEdmVault5 vault = new EdmVault5();

                        vault = (IEdmVault5)poCmd.mpoVault;
                        IEdmObject5 folderObject = vault.GetObject(EdmObjectType.EdmObject_Folder,
                                                                   ((EdmCmdData)ppoData.GetValue(i)).mlObjectID3);
                        IEdmFolder5 ef         = (IEdmFolder5)folderObject;
                        IEdmObject5 fileObject = vault.GetObject(EdmObjectType.EdmObject_File,
                                                                 ((EdmCmdData)ppoData.GetValue(i)).mlObjectID1);
                        string fullpath = ef.LocalPath + "\\" + fileObject.Name;

                        DxfLoad dxfl = new DxfLoad();
                        var     sp   = dxfl.GetSpecification(fullpath, "");
                        dxfl.UpLoadDxf(sp);

                        //XmlFile xf = new XmlFile();
                        //xf.DownloadXml(fullpath);
                    }

                    SolidWorksPdmAdapter.Instance.KillProcsses("SLDWORKS");
                    //MessageObserver.Instance.SetMessage("End upload.\n");
                }
            }
            catch (Exception ex)
            {
                MessageObserver.Instance.SetMessage(ex.Message);
                throw;
            }
        }
Exemple #15
0
        ///// <summary>
        ///// Download file in to local directory.
        ///// </summary>
        ///// <param name="dataModel"></param>
        //public string GetPathAndDownLoadFile(DataModel dataModel, string directoryPath)
        //{
        //    this.PDMInitialize();
        //    IEdmFolder5 srcFolder = null;
        //    IEdmFile5 file = edmVault5.GetFileFromPath(dataModel.Path,out srcFolder);
        //    IEdmVault7 vault2 = (IEdmVault7)this.edmVault5;
        //    IEdmFolder5 edmFolder5 = vault2.GetFolderFromPath(directoryPath);
        //    IEdmFolder8 edmFolder8 = (IEdmFolder8)edmFolder5;

        //    int copyFileStatus;
        //    edmFolder8.CopyFile2(file.ID, srcFolder.ID, 0, out copyFileStatus, "", (int)EdmCopyFlag.EdmCpy_Simple);

        //    //var batchGetter = (IEdmBatchGet)(edmVault5 as IEdmVault7).CreateUtility(EdmUtility.EdmUtil_BatchGet);
        //    // batchGetter.AddSelectionEx((EdmVault5)edmVault5, dataModel.Id, dataModel.FolderId, 0);
        //    // if ((batchGetter != null))
        //    // {
        //    //     batchGetter.CreateTree(0, (int)EdmGetCmdFlags.Egcf_SkipUnlockedWritable);
        //    //     batchGetter.GetFiles(0, null);
        //    // }
        //    return null;
        //}

        /// <summary>
        /// Reference in to the components of assembly.
        /// </summary>
        /// <param name="file"></param>
        /// <param name="indent"></param>
        /// <param name="projName"></param>
        /// <returns></returns>
        private string AddReferences(IEdmReference5 file, long indent, ref string projName)
        {
            string filename = null;

            filename = filename + file.Name;

            const bool isTop = false;

            IEdmVault7 vault2 = null;

            if (edmVault5 == null)
            {
                edmVault5 = new EdmVault5();
            }
            vault2 = (IEdmVault7)edmVault5;

            if (!edmVault5.IsLoggedIn)
            {
                edmVault5.LoginAuto(vaultname, 0);
            }

            IEdmPos5 pos = file.GetFirstChildPosition(projName, isTop, true, 0);

            IEdmFolder5 oFolder = null;


            while (!(pos.IsNull))
            {
                IEdmReference5 @ref  = file.GetNextChild(pos);
                var            oFile = (IEdmFile5)edmVault5.GetFileFromPath(@ref.FoundPath, out oFolder);

                filename = filename + AddReferences(@ref, indent, ref projName);

                //MessageBox.Show(filename);
                // Последняя копия перечня в сборке
                oFile.GetFileCopy(0, "", @ref.FoundPath);
            }
            return(filename);
        }
Exemple #16
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));
        }
Exemple #17
0
        /// <summary>
        /// Traverses an argument vault folder object recursively and returns a <see cref="Folder"/> instance
        /// representing the complete hierarchical tree structure of the vault folder in question.
        /// This method could be VERY SLOW depending on the size and depth of the folder structure being traversed.
        /// </summary>
        /// <param name="folder"></param>
        /// <returns></returns>
        public static Folder GetFolderTree(IEdmFolder5 folder)
        {
            Folder folderOut = new Folder()
            {
                Id             = folder.ID,
                ParentFolderId = folder.ParentFolder == null ? null : new int?(folder.ParentFolder.ID), // This guards against a potential NullReferenceException only for the vault root folder because it will have a null ParentFolder value.
                Name           = folder.Name,
                Path           = folder.LocalPath,
            };

            IEdmPos5 pos = folder.GetFirstFilePosition();

            while (!pos.IsNull)
            {
                IEdmFile5 edmFile = folder.GetNextFile(pos);

                var file = new File()
                {
                    Id   = edmFile.ID,
                    Name = edmFile.Name,
                    Path = edmFile.GetLocalPath(folder.ID)
                           // TODO: AcmePartNo = ....
                };

                folderOut.Files.Add(file);
            }

            pos = folder.GetFirstSubFolderPosition();
            while (!pos.IsNull)
            {
                IEdmFolder5 subFolder = folder.GetNextSubFolder(pos);

                folderOut.Subfolders.Add(
                    GetFolderTree(subFolder));
            }

            return(folderOut);
        }
Exemple #18
0
        /// <summary>
        /// 【3】将文件添加到库中指定位置——导入,并返回pdm中文件全路径(包含文件名)
        /// </summary>
        /// <param name="FullName">要复制库外文件路径和名称</param>
        /// <param name="path">库中根目录下具体位置,如“\\03标准规范\\05技术通知单”</param>
        /// <returns></returns>
        public static string AddFile(string FullName, string path)
        {
            IEdmVault5 vault1 = new EdmVault5();
            IEdmVault7 vault2 = (IEdmVault7)vault1;

            vault1.Login(LogName, PWD, VaultName);//使用管理员登录每个用户不同
            // Add selected file to the root folder of the vault
            IEdmFolder5 Folder = default(IEdmFolder8);

            Folder = (IEdmFolder8)vault2.RootFolder;
            Folder = vault2.GetFolderFromPath(Folder.LocalPath + path);
            string name = FullName.Substring(FullName.LastIndexOf("\\") + 1);

            if (File.Exists(Folder.LocalPath + "\\" + name))
            {
                MessageBox.Show("文件已经存在,请更改文件名称!", "提示信息");
                return("");
            }
            else
            {
                Folder.AddFile(new System.Windows.Forms.Control().Handle.ToInt32(), FullName, "", 0);
            }
            return(Folder.LocalPath + "\\" + name);
        }
Exemple #19
0
 /// <summary>
 /// 【7】将文件复制到指定路径(硬盘)——导出
 /// </summary>
 /// <param name="PathInVault">库文件夹根目录下相对路径</param>
 /// <param name="PathOutVault">本地具体路径</param>
 public static void CheckoutAndCopy(string PathInVault, string PathOutVault)
 {
     try
     {
         EdmVault5 vault = new EdmVault5();
         vault.Login(LogName, PWD, VaultName);
         IEdmFile5   file   = default(IEdmFile5);
         IEdmFolder5 folder = null;
         file = vault.GetFileFromPath(vault.RootFolderPath + PathInVault, out folder);//读取指定文件的位置,PathInVault库文件夹根目录下相对路径
         file.LockFile(folder.ID, new System.Windows.Forms.Control().Handle.ToInt32());
         file.UndoLockFile(new System.Windows.Forms.Control().Handle.ToInt32(), true);
         //Copy the file
         IEdmEnumeratorVersion5 verEnum = default(IEdmEnumeratorVersion5);
         verEnum = (IEdmEnumeratorVersion5)file;
         int Version = 0;
         Version = file.GetLocalVersionNo(folder.ID);
         IEdmVersion5 ver = default(IEdmVersion5);
         ver = verEnum.GetVersion(Version);
         ver.GetFileCopy(new System.Windows.Forms.Control().Handle.ToInt32(), PathOutVault);//PathOutVault本地具体路径
     }
     catch (System.Runtime.InteropServices.COMException ex)
     {
         if (ex.ErrorCode.ToString() == "-2147220949")
         {
             MessageBox.Show("The selected file is not located in a file vault.");
         }
         else
         {
             MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemple #20
0
 internal static IEdmFile5 GetEdmFile5(string path, out IEdmFolder5 folder)
 {
     folder = null;
     try
     {               
         IEdmFolder5 oFolder;             
         var edmFile5 = edmVault5.GetFileFromPath(path, out oFolder);
         edmFile5.GetFileCopy(0, 0, oFolder.ID, (int)EdmGetFlag.EdmGet_RefsVerLatest);                
         folder = oFolder;
         return edmFile5;
     }
     catch (Exception exception)
     {
         Логгер.Ошибка($"Message - {exception.Message}\nPath - {path}\nStackTrace - {exception.StackTrace}", null, "GetEdmFile5", "SwEpdm");
         //MessageBox.Show(exception.Message + "\n" + exception.StackTrace + "\n" + path);
         return null;
     }
 }
Exemple #21
0
    public int Add(string fileName, string fFilter, string vName)
    {
        int        exitCode = 0;
        IEdmVault5 vault    = (IEdmVault5)Activator.CreateInstance(System.Type.GetTypeFromProgID("Conisiolib.EdmVault"));

        LogIn(ref exitCode, ref vault, vName);
        if (exitCode != 0)
        {
            return(exitCode);
        }
        string refFileName = string.Empty;

        GetFileName(ref refFileName, vault.RootFolderPath, fFilter, 0);
        if (refFileName == string.Empty)
        {
            exitCode = 11;
            return(exitCode);
        }
        if (refFileName.ToLower() == fileName.ToLower())
        {
            exitCode = 12;
            return(exitCode);
        }
        IEdmEnumeratorCustomReference6 addCustRefs = default(IEdmEnumeratorCustomReference6);
        IEdmFolder5 rFolder = default(IEdmFolder5);
        IEdmFile5   rFile   = default(IEdmFile5);
        IEdmFolder5 zFolder = default(IEdmFolder5);
        IEdmFile5   file    = default(IEdmFile5);

        try {
            rFile = vault.GetFileFromPath(refFileName, out rFolder);
            file  = vault.GetFileFromPath(fileName, out zFolder);
            if (rFile == null | file == null)
            {
                exitCode = 13;
                return(exitCode);
            }
            if (!file.IsLocked)
            {
                exitCode = 14;
                return(exitCode);
            }
            addCustRefs = (IEdmEnumeratorCustomReference6)file;
            try {
                addCustRefs.AddReference2(rFile.ID, rFolder.ID, 1);
            } catch (COMException e) {
                exitCode = 15;
                return(exitCode);
            }
        } catch (COMException e) {
            exitCode = 16;
            return(exitCode);
        } finally {
            if (rFolder != null)
            {
                Marshal.FinalReleaseComObject(rFolder);
                rFolder = null;
            }
            if (rFile != null)
            {
                Marshal.FinalReleaseComObject(rFile);
                rFile = null;
            }
            if (zFolder != null)
            {
                Marshal.FinalReleaseComObject(zFolder);
                zFolder = null;
            }
            if (file != null)
            {
                Marshal.FinalReleaseComObject(file);
                file = null;
            }
            if (addCustRefs != null)
            {
                Marshal.FinalReleaseComObject(addCustRefs);
                addCustRefs = null;
            }
            if (vault != null)
            {
                Marshal.FinalReleaseComObject(vault);
                vault = null;
            }
        }
        return(exitCode);
    }
Exemple #22
0
        public bool exportExcel(IEdmVault5 poVault, string selectFile, string saveFile)
        {
            WiseUtil    wiseUtil            = new WiseUtil();
            IEdmFolder5 templateExcelFolder = null;
            string      finalFilePath       = poVault.RootFolderPath + WiseUtil.templateExcelFilePath;
            IEdmFile5   templateExcelFile   = poVault.GetFileFromPath(finalFilePath, out templateExcelFolder);

            if (templateExcelFile == null)
            {
                System.Windows.Forms.MessageBox.Show("在PDM中找不到模板EXCEL:\n" + finalFilePath);
                return(false);
            }

            //string installLocation = wiseUtil.GetLocalMachineRegistryValue("SOFTWARE\\solidworks\\Applications\\PDMWorks Enterprise\\", "Location");
            //System.Console.WriteLine(installLocation);
            //if (installLocation == "")
            //{
            //   installLocation = "C:\\";
            //}
            //string excelTemplate = installLocation + "ExportTemplate\\template-list.xlsx";
            Workbook templateWb = null;

            try {
                templateWb = wiseUtil.OpenExcel(finalFilePath);
            }
            catch (Exception e) {
                System.Windows.Forms.MessageBox.Show("打开模板表格失败,请查看位置" + templateExcelFile + "的文件状态");
                return(false);
            }
            if (templateWb == null)
            {
                System.Windows.Forms.MessageBox.Show("打开模板表格失败");
                return(false);
            }
            SldWorks.SldWorks swApp = new SldWorks.SldWorks();
            int       longstatus    = 0;
            int       longwarnings  = 0;
            ModelDoc2 modelDoc      = swApp.OpenDoc6(selectFile, (int)swDocumentTypes_e.swDocDRAWING,
                                                     (int)(swOpenDocOptions_e.swOpenDocOptions_ReadOnly | swOpenDocOptions_e.swOpenDocOptions_Silent),
                                                     "", ref longstatus, ref longwarnings);

            if (modelDoc == null || longstatus > 0)
            {
                System.Windows.Forms.MessageBox.Show("打开二维图失败");
                swApp.ExitApp();
                templateWb.Close();
                return(false);
            }
            BomTableAnnotation bomTableAnno = null;
            string             configName   = "";
            string             topFileName  = "";

            try
            {
                wiseUtil.GetDrawingDocBOMTable(modelDoc, out bomTableAnno, out configName, out topFileName);
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show("获取明细表信息出错" + e.StackTrace);
            }
            if (bomTableAnno == null)
            {
                System.Windows.Forms.MessageBox.Show("未找到明细表信息");
                swApp.ExitApp();
                templateWb.Close();
                return(false);
            }
            //modelDoc.Close();
            SldAsm asmPrd = wiseUtil.GetAsmIndoFromFile(poVault, topFileName);// new SldAsm();

            if (asmPrd == null)
            {
                System.Windows.Forms.MessageBox.Show("获取材料明细表关联产品失败");
                swApp.ExitApp();
                templateWb.Close();
                return(false);
            }
            //asmPrd.bzr = "hou";
            //asmPrd.bzsj = "2016/1/1";
            try
            {
                wiseUtil.ProcessTableAnn(poVault, bomTableAnno, configName, asmPrd);
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show("解析明细表信息出错" + e.StackTrace);
            }
            //if (WiseUtil.errors > 0)
            //{
            //    System.Windows.Forms.MessageBox.Show("解析明细表信息出错" + WiseUtil.errorStr);
            //}
            wiseUtil.SaveBuyToWorkbook(templateWb, asmPrd);
            wiseUtil.SaveStdToWorkbook(templateWb, asmPrd);
            wiseUtil.SavePrtToWorkbook(templateWb, asmPrd);
            wiseUtil.SaveBspToWorkbook(templateWb, asmPrd);
            templateWb.SaveAs(saveFile);
            templateWb.Close();
            swApp.ExitApp();
            swApp = null;
            return(true);
        }
Exemple #23
0
        private void SearchFiles(IEdmVault5 vault, object Val1)
        {
            try

            {
                IEdmSearch5 search = null;
                IEdmFolder5 folder = null;

                folder = vault.GetFolderFromPath(@"C:\CDI Controlled Documents\drawings\part drawings- controlled");

                search               = vault.CreateSearch();
                search.FileName      = "%.%d%w%";
                search.StartFolderID = folder.ID;

                object Var1  = "Part Numbers";
                object State = "Approved for Production";


                search.AddVariable(Var1, Val1);

                search.set_State(State);
                search.FindHistoricStates = false;
                search.Recursive          = true;

                String message = string.Empty;



                List <IEdmSearchResult5> results = new List <IEdmSearchResult5>();

                IEdmSearchResult5 result = search.GetFirstResult();

                while (result != null)

                {
                    results.Add(result);
                    result = search.GetNextResult();
                }
                results = results.Distinct(new SearchResultComparer()).ToList();
                if (results.Count < 1)
                {
                    search.Clear();
                    search.FileName      = Val1 + ".%d%w%";
                    search.StartFolderID = folder.ID;
                    State = "Approved for Production";
                    search.set_State(State);
                    search.FindHistoricStates = false;
                    search.Recursive          = true;

                    result = search.GetFirstResult();
                    while (result != null)

                    {
                        results.Add(result);
                        result = search.GetNextResult();
                    }
                    results = results.Distinct(new SearchResultComparer()).ToList();
                }
                foreach (IEdmSearchResult5 item in results)
                {
                    //get latest version
                    IEdmFile5   file      = null;
                    IEdmFolder5 retFolder = default(IEdmFolder5);
                    file = vault.GetFileFromPath(item.Path, out retFolder);
                    file.GetFileCopy(0);
                    //System.Diagnostics.Process.Start(item.Path, @"C:\Program Files\SOLIDWORKS Corp\eDrawings\eDrawings.exe");
                    //OpenEdwg(item.Path);
                    OpenSaveSldrwPdf(item.Path);



                    message = message + "Filename: " + item.Name + ", Rev: " + file.CurrentRevision + "; \n";
                }



                MessageBox.Show(message);
            }



            catch (Exception ex)

            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #24
0
        private static bool GetFileFromPath(IEdmVault5 vault, string filePath, out IEdmFile5 file, out IEdmFolder5 parentFolder)
        {
            file         = null;
            parentFolder = null;

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

            try
            {
                file = vault.GetFileFromPath(filePath, out parentFolder);
                return(file != null && parentFolder != null);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Exemple #25
0
        public void GetVars_Click(System.Object sender, System.EventArgs e)
        {
            try
            {
                IEdmVault7 vault2 = null;
                if (vault1 == null)
                {
                    vault1 = new EdmVault5();
                }
                vault2 = (IEdmVault7)vault1;
                if (!vault1.IsLoggedIn)
                {
                    //Log into selected vault as the current user
                    vault1.LoginAuto(VaultsComboBox.Text, this.Handle.ToInt32());
                }

                IEdmFile5   aFile = default(IEdmFile5);
                IEdmFolder5 ppoRetParentFolder = null;
                aFile = vault2.GetFileFromPath(ListBox.Items[0].ToString(), out ppoRetParentFolder);

                //Get card variables only from a file checked into the vault
                if (!aFile.IsLocked)
                {
                    aFile.LockFile(vault2.RootFolderID, this.Handle.ToInt32(), (int)EdmLockFlag.EdmLock_Simple);

                    IEdmEnumeratorVariable5 varEnum = default(IEdmEnumeratorVariable5);
                    varEnum = aFile.GetEnumeratorVariable();

                    object[] valueList = null;
                    varEnum.GetUpdateVars(aFile.LockedInFolderID, out valueList);

                    int idx = 0;
                    idx = Information.LBound(valueList);
                    int upper = 0;
                    upper = Information.UBound(valueList);

                    string msg = null;
                    msg = "Card variables for " + aFile.Name + " in configuration, @:" + Constants.vbLf + Constants.vbLf;

                    IEdmVariableMgr5 varMgr = default(IEdmVariableMgr5);
                    varMgr = (IEdmVariableMgr5)aFile.Vault;

                    IEdmVariable5      var   = default(IEdmVariable5);
                    IEdmVariableValue6 value = default(IEdmVariableValue6);
                    while (idx <= upper)
                    {
                        value = (IEdmVariableValue6)valueList[idx];
                        idx   = idx + 1;
                        var   = varMgr.GetVariable(value.VariableID);
                        msg   = msg + value.VariableName + " = > " + value.GetValue("@").ToString() + Constants.vbLf;
                        msg   = msg + "EdmVariableFlags: " + var.Flags + ", EdmVariableType: " + var.VariableType + Constants.vbLf + Constants.vbLf;
                        //msg = msg & "EdmVariableFlags: " & value.VariableFlags & ", EdmVariableType: " & value.VariableType & vbLf & vbLf
                    }

                    MessageBox.Show(msg);

                    aFile.UndoLockFile(this.Handle.ToInt32());
                }
                else
                {
                    //User selected a checked-out file
                    MessageBox.Show("Please select a checked-in file.");
                }
            }
            catch (System.Runtime.InteropServices.COMException ex)
            {
                MessageBox.Show("HRESULT = 0x" + ex.ErrorCode.ToString("X") + " " + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #26
0
        public void OnCmd(ref EdmCmd poCmd, ref Array ppoData)
        {
            try
            {
                //// TODO: This is useful for showing child windows properly
                //poCmd.mlParentWnd;

                switch (poCmd.meCmdType)
                {
                case EdmCmdType.EdmCmd_Menu:
                    if (poCmd.mlCmdID == 1)
                    {
                        //// TODO: Only supporting single selection for now.
                        //foreach(EdmCmdData d in ppoData)
                        //{
                        //    d.mbsStrData1  =
                        //}

                        var fileData = (EdmCmdData)ppoData.GetValue(0);

                        string fileName = fileData.mbsStrData1;
                        int    fileId   = fileData.mlObjectID1;
                        int    folderId = fileData.mlObjectID3;

                        IEdmVault16 vault        = (IEdmVault16)poCmd.mpoVault;
                        IEdmFile5   file         = (IEdmFile5)vault.GetObject(EdmObjectType.EdmObject_File, fileId);
                        IEdmFolder5 parentFolder = (IEdmFolder5)vault.GetObject(EdmObjectType.EdmObject_Folder, folderId);

                        string parentFilePath = file.GetLocalPath(parentFolder.ID);
                        var    fileVars       = (IEdmEnumeratorVariable10)file.GetEnumeratorVariable();

                        // get the variable
                        object oVal;
                        bool   success = fileVars.GetVar2(VARIABLE_NAME, "@", parentFolder.ID, out oVal);

                        if (file.IsLocked)
                        {
                            MessageBox.Show("The file must be checked in.");
                        }
                        else if (oVal == null)
                        {
                            MessageBox.Show($"The variable '{VARIABLE_NAME}' has no value.");
                        }
                        else
                        {
                            var window = new AAFileRefsWindow();

                            // do search and gret results...
                            var         search  = new VaultSearch(vault);
                            AAFileRef[] results = search.SearchForFileRefs(oVal.ToString());

                            var vm = new AAFileRefsViewModel(parentFilePath, results, () => window.Close());
                            window.DataContext = vm;
                            window.ShowDialog();
                            if (vm.OkWasClicked)
                            {
                                var fileRefsSvc = new CustomRefsService(vault);

                                string[] chilPaths = vm.Results
                                                     .Where(x => x.IsIncluded)
                                                     .Select(x => x.Path).ToArray();

                                fileRefsSvc.AddCustomReferences(file.ID, chilPaths);
                            }
                        }
                    }
                    break;

                case EdmCmdType.EdmCmd_PostAdd:
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
#if Debug
                MessageBox.Show(ex.ToString());
#else
                MessageBox.Show(ex.Message);
#endif
            }
        }
        public void BatchDelete(List<TaskParam> listType)
        {
            var batchDeleter = (IEdmBatchDelete2)HostingForm.Vault2.CreateUtility(EdmUtility.EdmUtil_BatchDelete);
            IEdmFolder5 ppoRetParentFolder;

            foreach (var fileName in listType)
            {
                if (fileName.Revision == "") continue;

                aFile = HostingForm.Vault1.GetFileFromPath(fileName.FullFilePath, out ppoRetParentFolder);
                aPos = aFile.GetFirstFolderPosition();
                aFolder = aFile.GetNextFolder(aPos);

                // Add selected file to the batch
                batchDeleter.AddFileByPath(fileName.FullFilePath);
            }

            // Move files and folder to the Recycle Bin
            batchDeleter.ComputePermissions(true, null);
            batchDeleter.CommitDelete(0, null);
        }
        public void BatchSetVariable(List<TaskParam> listType)
        {
            RootFolder = HostingForm.Vault1.RootFolderPath;
            Program.HostForm.richTextBoxLog.Invoke(new Action(() => Program.HostForm.richTextBoxLog.SelectedText += ("Файлы добавлены:\r\n")));
            foreach (var fileVar in listType)
            {
                var filePath = RootFolder + fileVar.FolderPath + fileVar.FileName;
                aFolder = default(IEdmFolder5);

                if (HostingForm.Vault1.GetFileFromPath(filePath, out aFolder) == null) continue;

                Program.HostForm.richTextBoxLog.Invoke(new Action(() => Program.HostForm.richTextBoxLog.SelectedText += (filePath + "\r\n")));

                //if (HostingForm.Vault1.GetFileFromPath(filePath, out aFolder) == null)
                //{
                //    MessageBox.Show("false");
                //}
                //else
                //{
                //    MessageBox.Show("true");
                //}

                IEdmFile5 edmFile = HostingForm.Vault1.GetFileFromPath(filePath, out aFolder);

                var pEnumVar = (IEdmEnumeratorVariable8)edmFile.GetEnumeratorVariable(); ;
                pEnumVar.SetVar("Revision", "", fileVar.CurrentVersion);
            }
        }
        public List<TaskParam> BatchGetVariable(List<TaskParam> listType)
        {
            var listStr = new List<TaskParam>();

            foreach (var fileVar in listType)
            {
                aFolder = default(IEdmFolder5);

                IEdmFile5 edmFile = HostingForm.Vault1.GetFileFromPath(fileVar.FullFilePath, out aFolder);

                object oVarRevision;

                var revision = "";
                if (edmFile == null)
                {
                    revision = "";
                }
                else
                {
                    var pEnumVar = (IEdmEnumeratorVariable8)edmFile.GetEnumeratorVariable();

                    pEnumVar.GetVar("Revision", "", out oVarRevision);

                    if (oVarRevision == null)
                    {
                        revision = "0";
                    }
                    else
                    {
                        revision = oVarRevision.ToString();
                    }
                }

                listStr.Add(new TaskParam
                {
                    Revision = revision,
                    CurrentVersion = fileVar.CurrentVersion,
                    FileName = fileVar.FileName,
                    FolderPath = fileVar.FolderPath,
                    FullFilePath = fileVar.FullFilePath,
                    TaskType = fileVar.TaskType
                });
            }
            return listStr;
        }
        public void BatchUnLock(List<TaskParam> listType)
        {

            ppoSelection = new EdmSelItem[listType.Count];
 
            batchUnlocker = (IEdmBatchUnlock)HostingForm.Vault2.CreateUtility(EdmUtility.EdmUtil_BatchUnlock);

            RootFolder = HostingForm.Vault1.RootFolderPath;
            var i = 0;

            foreach (var fileName in listType)
            {
                var filePath = RootFolder + fileName.FolderPath + fileName.FileName;
                if (HostingForm.Vault1.GetFileFromPath(filePath, out ppoRetParentFolder) == null) continue;
                aFile = HostingForm.Vault1.GetFileFromPath(filePath, out ppoRetParentFolder);

                aPos = aFile.GetFirstFolderPosition();
                aFolder = aFile.GetNextFolder(aPos);

                ppoSelection[i] = new EdmSelItem();
                ppoSelection[i].mlDocID = aFile.ID;
                ppoSelection[i].mlProjID = aFolder.ID;

                i = i + 1;
            }

            // Add selections to the batch of files to check in
            batchUnlocker.AddSelection((EdmVault5)HostingForm.Vault1, ppoSelection);

            if ((batchUnlocker != null))
            {
                batchUnlocker.CreateTree(0, (int)EdmUnlockBuildTreeFlags.Eubtf_ShowCloseAfterCheckinOption + (int)EdmUnlockBuildTreeFlags.Eubtf_MayUnlock);
                fileList = (IEdmSelectionList6)batchUnlocker.GetFileList((int)EdmUnlockFileListFlag.Euflf_GetUnlocked + (int)EdmUnlockFileListFlag.Euflf_GetUndoLocked + (int)EdmUnlockFileListFlag.Euflf_GetUnprocessed);
                aPos = fileList.GetHeadPosition();

                while (!(aPos.IsNull))
                {
                    fileList.GetNext2(aPos, out poSel);
                }

                //retVal = batchUnlocker.ShowDlg(this.Handle.ToInt32());
                batchUnlocker.UnlockFiles(0, null);
            }
        }
        //TODO: BatchGet
        public void BatchGet(List<TaskParam> listType)
        {
            batchGetter = (IEdmBatchGet)HostingForm.Vault2.CreateUtility(EdmUtility.EdmUtil_BatchGet);

            var i = 0;
            foreach (var taskVar in listType)
            {

                aFile = HostingForm.Vault1.GetFileFromPath(taskVar.FullFilePath, out ppoRetParentFolder);

                aPos = aFile.GetFirstFolderPosition();

                aFolder = aFile.GetNextFolder(aPos);

                batchGetter.AddSelectionEx((EdmVault5)HostingForm.Vault1, aFile.ID, aFolder.ID, taskVar.CurrentVersion);
            }

            //batchUnlocker.AddSelection((EdmVault5)vault, ppoSelection);

            if ((batchGetter != null))
            {
                batchGetter.CreateTree(0, (int)EdmGetCmdFlags.Egcf_Nothing);

                ////fileCount = batchGetter.FileCount;
                //fileList = (IEdmSelectionList6)batchGetter.GetFileList((int)EdmGetFileListFlag.Egflf_GetLocked + (int)EdmGetFileListFlag.Egflf_GetFailed + (int)EdmGetFileListFlag.Egflf_GetRetrieved + (int)EdmGetFileListFlag.Egflf_GetUnprocessed);

                //aPos = fileList.GetHeadPosition();

                ////str = "Getting " + fileCount + " files: ";
                //while (!(aPos.IsNull))
                //{
                //    fileList.GetNext2(aPos, out poSel);
                //    //str = str + Constants.vbLf + poSel.mbsPath;
                //}

                //MsgBox(str)

                //var retVal = batchGetter.ShowDlg(this.Handle.ToInt32());
                // No dialog if checking out only one file

                //if ((retVal))
                //{
                batchGetter.GetFiles(0, null);
                //}
            }
        }