public static bool CheckDxfExistance(IEdmVault7 vault, int IdPDM, int CurrentVersion, string fileName) { var result = true; //Get configurations var fileEdm = (IEdmFile5)vault.GetObject(EdmObjectType.EdmObject_File, IdPDM); EdmStrLst5 cfgList = default(EdmStrLst5); cfgList = fileEdm.GetConfigurations(); string cfgName = null; IEdmPos5 pos = default(IEdmPos5); pos = cfgList.GetHeadPosition(); while (!pos.IsNull) { Exception exc; cfgName = cfgList.GetNext(pos); if (cfgName != "@") { var existDxf = Dxf.ExistDxf(IdPDM, CurrentVersion, cfgName, out exc); //Logger.Add("Проверка на DXF; \n IdPDM: " + IdPDM + "\n Name: " + fileName + "\n Version: " + CurrentVersion + "\n ConfigName: " + cfgName + "\n Exist: " + existDxf); if (!existDxf) { //return result = false; } } } return(result); }
private FileReference GetFileReferencesRecursive(IEdmReference5 edmFileRef, string projectName, int level = 0) { // Map PDM reference to our file reference type FileReference fileRef = new FileReference { File = new File { Id = edmFileRef.FileID, FolderId = edmFileRef.FolderID, Name = edmFileRef.Name, Path = edmFileRef.FoundPath } }; // Recurse for each child IEdmPos5 pos = edmFileRef.GetFirstChildPosition(ref projectName, level == 0, true, edmFileRef.VersionRef); while (!pos.IsNull) { IEdmReference5 edmChildRef = edmFileRef.GetNextChild(pos); fileRef.Children.Add( GetFileReferencesRecursive(edmChildRef, projectName, level + 1)); } return(fileRef); }
/// <summary> /// 【11】获取组名 /// </summary> /// <returns>共有2列,Name和Code</returns> public static DataTable GetGroup() { DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Code"); IEdmUserMgr7 UsrMgr; IEdmUserGroup8 mngmtGroup; if (vault == null) { vault = new EdmVault5(); } if (!vault.IsLoggedIn) { vault.LoginAuto(VaultName, new Control().Handle.ToInt32()); } UsrMgr = (IEdmUserMgr7)vault; //Traverse groups //string Groups = ""; IEdmPos5 UserGroupPos = default(IEdmPos5); UserGroupPos = UsrMgr.GetFirstUserGroupPosition(); while (!UserGroupPos.IsNull) { mngmtGroup = (IEdmUserGroup8)UsrMgr.GetNextUserGroup(UserGroupPos); //Groups = Groups + mngmtGroup.Name + "\n"; DataRow dr = dt.NewRow(); dr["Name"] = mngmtGroup.Name; dr["Code"] = mngmtGroup.ID; dt.Rows.Add(dr); } return(dt); }
public SettingsViewModel(AutoCADTaskSettings source, IEdmVault20 vault) { OutputPath = source.OutputPath; MenuName = source.MenuName; CreateMenu = source.CreateMenu; MenuDescription = source.MenuDescription; CreatePDF = source.CreatePDF; foreach (var b in source.Blocks) { Blocks.Add(b.Value); } foreach (var v in source.Variables) { Variables.Add(v); } IEdmVariableMgr7 variableMgr = (IEdmVariableMgr7)vault; IEdmPos5 pos = variableMgr.GetFirstVariablePosition(); while (!pos.IsNull) { IEdmVariable5 var = variableMgr.GetNextVariable(pos); AllVariables.Add(new VariableViewModel() { Name = var.Name, Id = var.ID }); } }
//获取用户列表 public static DataTable GetUserList() { DataTable dt = new DataTable(); if (dt.Columns.Count == 0) { dt.Columns.Add("UserName"); dt.Columns.Add("UserID"); dt.Columns.Add("IsLoggedIn"); dt.Columns.Add("Vault"); dt.Columns.Add("FullName"); dt.Columns.Add("UserData"); dt.Columns.Add("Initials"); dt.Columns.Add("ObjectType"); dt.Columns.Add("Email"); } DataRow dr = null; IEdmVault5 vault = new EdmVault5(); try { vault.Login(LogName, PWD, VaultName); } catch (Exception e) { MessageBox.Show(e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } IEdmUserMgr5 UserMgr = default(IEdmUserMgr5); UserMgr = (IEdmUserMgr5)vault; IEdmPos5 UserPos = default(IEdmPos5); UserPos = UserMgr.GetFirstUserPosition(); while (!UserPos.IsNull) { dr = dt.NewRow(); IEdmUser5 user5 = UserMgr.GetNextUser(UserPos); IEdmUser6 user6 = (IEdmUser6)user5; IEdmUser7 user7 = (IEdmUser7)user5; IEdmUser8 user8 = (IEdmUser8)user5; IEdmUser9 user9 = (IEdmUser9)user5; IEdmUser10 user10 = (IEdmUser10)user5; dr["UserName"] = user5.Name; dr["UserID"] = user5.ID; dr["IsLoggedIn"] = user5.IsLoggedIn; dr["Vault"] = user5.Vault.Name; dr["FullName"] = user6.FullName; dr["UserData"] = user6.UserData; dr["Initials"] = user6.Initials; dr["ObjectType"] = user6.ObjectType; dr["Email"] = user10.Email; dt.Rows.Add(dr); } return(dt); }
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); } }
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} файлов."); }
public string GetNext(IEdmPos5 poPos) { if (poPos is EdmPosWrapper) { var val = (poPos as EdmPosWrapper).Current; (poPos as EdmPosWrapper).MoveNext(); return(val); } else { throw new NotSupportedException(); } }
private void populateVariableNames() { vault = new EdmVault5(); vault.LoginAuto(selectedVault, 0); if (vault.IsLoggedIn) { variableNames.Clear(); IEdmVariableMgr5 varMgr = (IEdmVariableMgr5)((IEdmVault7)vault).CreateUtility(EdmUtility.EdmUtil_VariableMgr); IEdmPos5 varPos = varMgr.GetFirstVariablePosition(); while (!varPos.IsNull) { IEdmVariable5 varToAdd = varMgr.GetNextVariable(varPos); variableNames.Add(varToAdd.Name); } } }
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); } }
/// <summary> /// 【11.1】获取组成员 /// </summary> /// <param name="GroupID">组ID</param> /// <returns>共有2列,ID/Name/FullName</returns> public static DataTable GetGroupMember(int GroupID) { DataTable dt = new DataTable(); dt.Columns.Add("ID"); dt.Columns.Add("Name"); dt.Columns.Add("FullName"); IEdmUserMgr7 UsrMgr; IEdmUserGroup8 mngmtGroup; IEdmUser9 user; IEdmPos5 UserPos = default(IEdmPos5); if (vault == null) { vault = new EdmVault5(); } if (!vault.IsLoggedIn) { vault.LoginAuto(VaultName, new Control().Handle.ToInt32()); } UsrMgr = (IEdmUserMgr7)vault; IEdmPos5 UserGroupPos = default(IEdmPos5); UserGroupPos = UsrMgr.GetFirstUserGroupPosition(); while (!UserGroupPos.IsNull) { mngmtGroup = (IEdmUserGroup8)UsrMgr.GetNextUserGroup(UserGroupPos); if (mngmtGroup.ID == GroupID) { UserPos = mngmtGroup.GetFirstUserPosition(); while (!UserPos.IsNull) { user = (IEdmUser9)mngmtGroup.GetNextUser(UserPos); //Users = Users + " " + user.Name + "\n"; DataRow dr = dt.NewRow(); dr["ID"] = user.ID; dr["Name"] = user.Name; dr["FullName"] = user.FullName; dt.Rows.Add(dr); } } } return(dt); }
private static bool TryGetConfigurations(IEdmFile5 file, out List <string> cfgs) { cfgs = new List <string>(); try { EdmStrLst5 cfgList = file.GetConfigurations(); IEdmPos5 pos = cfgList.GetHeadPosition(); while (!pos.IsNull) { string cfgName = cfgList.GetNext(pos); cfgs.Add(cfgName); } return(true); } catch (Exception ex) { return(false); } }
public void GetConfiguration() { try { var s = File.GetConfigurations(); IEdmPos5 pos = default(IEdmPos5); pos = s.GetHeadPosition(); while (!pos.IsNull) { string conf = s.GetNext(pos); //MessageBox.Show(conf); sw.GetBomShell(File, conf, Vault); } } catch (Exception e) { MessageBox.Show(e.Message); throw; } }
///// <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); }
/// <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); }
private void AddFileExecute() { #if BlockPDM OpenFileDialog ofd = new OpenFileDialog(); ofd.Multiselect = true; ofd.Filter = "Files (*.dxf,*.Pdf)|*.dxf;*.pdf"; if (ofd.ShowDialog() == true) { foreach (string fileName in ofd.FileNames) { Files.Add(new FileDataViewModel(new Document(fileName) { FileId = 1, Description = "Test" })); } } #else IEdmVault11 vault = (IEdmVault11) new EdmVault5(); EdmStrLst5 res = vault.BrowseForFile(0, (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles, "Select Files", "All Files (*.pdf,*.dxf,*.step)|*.pdf;*.dxf;*.step||", "", "", "Select Files"); if (res != null) { IEdmPos5 pos = res.GetHeadPosition(); List <string> paths = new List <string>(); IEdmBatchListing4 bli = vault.CreateUtility(EdmUtility.EdmUtil_BatchList); while (pos.IsNull) { //paths.Add(res.GetNext(pos)); bli.AddFile(res.GetNext(pos), default(DateTime), 0, 0); } string Names = "Description\nRevision"; EdmListCol[] cols = null; EdmListFile2[] files = null; bli.CreateListEx(Names, (int)EdmCreateListExFlags.Edmclef_Nothing, ref cols, null); bli.GetFiles2(ref files); foreach (var file in files) { var doc = new Document(file.mbsLockPath); doc.FileId = file.mlFileID; doc.Version = file.mlLatestVersion; doc.Revision = file.mbsRevisionName; doc.FileState = file.moCurrentState.mbsStateName; doc.Description = (file.moColumnData as object[])?[0] as string ?? "Not found"; Files.Add(new FileDataViewModel(doc)); } } //IEdmVault11 vault = (IEdmVault11)new EdmVault5(); //EdmStrLst5 res = vault.BrowseForFile(0, (int)EdmBrowseFlag.EdmBws_ForOpen + (int)EdmBrowseFlag.EdmBws_PermitVaultFiles, // "Select Files", "All Files (*.pdf,*.dxf,*.step)|*.pdf;*.dxf;*.step||", "", "", "Select Files"); //if (res != null) //{ // IEdmPos5 pos = res.GetHeadPosition(); // List<string> paths = new List<string>(); // IEdmBatchListing4 bli = vault.CreateUtility(EdmUtility.EdmUtil_BatchList); // while (pos.IsNull) // { // paths.Add(res.GetNext(pos)); // //bli.AddFile(res.GetNext(pos), default(DateTime), 0, 0); // } // string Names = "Description\nRevision"; // EdmListCol[] cols = null; // EdmListFile2[] files = null; // bli.CreateListEx(Names, (int)EdmCreateListExFlags.Edmclef_GetDrawings + (int)EdmCreateListExFlags.Edmclef_GetReferences + (int)EdmCreateListExFlags.Edmclef_ReturnReferences, ref cols, null); // bli.GetFiles2(ref files); // foreach (var file in files) // { // var doc = new Document(file.mbsLockPath); // doc.FileId = file.mlFileID; // doc.Version = file.mlLatestVersion; // doc.Revision = file.mbsRevisionName; // doc.FileState = file.moCurrentState.mbsStateName; // doc.Description = (file.moColumnData as object[])?[0] as string ?? "Not found"; // Files.Add(new FileDataViewModel(doc)); // } //} #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 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); //} } }
public static void GetIdPdm(string path, out string fileName, out int fileIdPdm, out int currentVerison, out List <string> configs, bool getFileCopy) { fileName = null; fileIdPdm = 0; currentVerison = 0; configs = new List <string>(); try { IEdmFolder5 oFolder; var tries = 1; m1: Thread.Sleep(500); path = new FileInfo(path).FullName; var edmFile5 = edmVault5.GetFileFromPath(path, out oFolder); if (oFolder == null) { tries++; if (tries > 10) { return; } goto m1; } if (getFileCopy) { try { edmFile5.GetFileCopy(0, 0, oFolder.ID, (int)EdmGetFlag.EdmGet_RefsVerLatest); } catch (Exception exception) { Логгер.Ошибка($"Message - {exception.Message}\nPath - {path}\nStackTrace - {exception.StackTrace}", null, "GetIdPdm", "SwEpdm"); //MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } } fileName = edmFile5.Name; fileIdPdm = edmFile5.ID; currentVerison = edmFile5.CurrentVersion; EdmStrLst5 list = edmFile5.GetConfigurations(); IEdmPos5 pos = default(IEdmPos5); pos = list.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = list.GetNext(pos); if (cfgName == "@") { continue; } configs.Add(cfgName); } } catch (Exception exception) { Логгер.Ошибка($"Message - {exception.Message}\nPath - {path}\nStackTrace - {exception.StackTrace}", null, "GetIdPdm", "SwEpdm"); //MessageBox.Show(ex.Message + "\n" + ex.StackTrace); } }
public SldAsm GetAsmIndoFromFile(IEdmVault5 poVault, string filePath) { IEdmFolder5 opParentFolder; IEdmFile5 poFile = poVault.GetFileFromPath(filePath, out opParentFolder); if (poFile == null) { return(null); } IEdmVariableMgr5 varMgr = (IEdmVariableMgr5)poVault; if (varMgr == null) { return(null); } IEdmEnumeratorVariable5 enumVar = poFile.GetEnumeratorVariable(); if (enumVar == null) { return(null); } if (filePath == "") { return(null); } EdmStrLst5 cfgList = poFile.GetConfigurations(); SldAsm asmPrd = new SldAsm(); asmPrd.path = filePath; asmPrd.amout = 1; if (varMgr.GetVariable("代号") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("代号", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.number = tmpVar.ToString(); } if (asmPrd.number.IndexOf(".") > 0 && asmPrd.number.IndexOf(".") < asmPrd.number.Length) { asmPrd.ztdm = asmPrd.number.Substring(0, asmPrd.number.IndexOf(".")); asmPrd.zjdm = asmPrd.number.Substring(asmPrd.number.IndexOf(".") + 1); } else { asmPrd.ztdm = asmPrd.zjdm = asmPrd.number; } } if (varMgr.GetVariable("名称") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("名称", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.name = tmpVar.ToString(); } } if (varMgr.GetVariable("设计") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("设计", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.bzr = tmpVar.ToString(); } } if (varMgr.GetVariable("设计日期") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("设计日期", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.bzsj = tmpVar.ToString(); } if (asmPrd.bzsj.IndexOf(" ") >= 0) { asmPrd.bzsj = asmPrd.bzsj.Substring(0, asmPrd.bzsj.IndexOf(" ")); } } if (varMgr.GetVariable("批准") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("批准", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.pzr = tmpVar.ToString(); } } if (varMgr.GetVariable("批准日期") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("批准日期", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.pzsj = tmpVar.ToString(); } if (asmPrd.pzsj.IndexOf(" ") >= 0) { asmPrd.pzsj = asmPrd.pzsj.Substring(0, asmPrd.pzsj.IndexOf(" ")); } } if (varMgr.GetVariable("阶段标记") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("阶段标记", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.jdbj = tmpVar.ToString(); } } if (varMgr.GetVariable("设备型号") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("设备型号", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.sbxh = tmpVar.ToString(); } } if (varMgr.GetVariable("Project Name") != null) { object tmpVar = null; IEdmPos5 pos = cfgList.GetHeadPosition(); string cfgName = null; while (!pos.IsNull) { cfgName = cfgList.GetNext(pos); enumVar.GetVar("Project Name", cfgName, out tmpVar); if (tmpVar == null) { continue; } if (!tmpVar.ToString().Equals("")) { break; } } if (tmpVar != null) { asmPrd.projName = tmpVar.ToString(); } } return(asmPrd); }