Any good Samaritan with an example showing how to use IEdmBatchListing2.
static void Main(string[] args)
{
IEdmVault5 vault1 = null;
IEdmVault8 vault8;
IEdmFolder5 folder;
IEdmFile10 afile;
string currentRevision;
string NumberVar;
vault1 = new EdmVault5();
vault8 = (IEdmVault8)vault1;
vault1.LoginAuto("MyVault", 0);
string FileName = @"D:\PDMVaults\MyVault\126964.SLDASM";
afile = (IEdmFile10)vault1.GetFileFromPath(FileName, out folder);
Console.WriteLine("The current revision: " + afile.CurrentRevision);
IEdmBatchListing4 BatchListing = default(IEdmBatchListing4);
BatchListing = (IEdmBatchListing4)vault8.CreateUtility(EdmUtility.EdmUtil_BatchList);
((IEdmBatchListing4)BatchListing).AddFileCfg(FileName, DateTime.Now, 0, "Default", Convert.ToInt32(EdmListFileFlags.EdmList_Nothing));
EdmListCol[] BatchListCols = null;
BatchListing.CreateListEx("\n\nNumber", (int)EdmCreateListExFlags.Edmclef_MayReadFiles + (int)EdmCreateListExFlags.Edmclef_ReturnReferences, ref BatchListCols, null);
EdmListFile2[] BatchListFiles = null;
BatchListing.GetFiles2(ref BatchListFiles);
EdmListRef[] res = null;
BatchListing.GetReferences(out res);
foreach (EdmListFile2 curListFile in BatchListFiles)
{
object[] columnData = (object[])curListFile.moColumnData;
if (columnData.Length > 0)
NumberVar = (String)columnData[0];
Console.WriteLine("State Name: " + curListFile.moCurrentState.mbsStateName);
Console.WriteLine("FileID: " + curListFile.mlFileID);
Console.WriteLine("Latest Version: " + curListFile.mlLatestVersion);
Console.WriteLine("IsLocked: " + (curListFile.mbsLockPath != null && curListFile.mbsLockPath.Length > 0));
Console.WriteLine("FolderID: " + curListFile.mlFolderID);
}
}
2 Likes