Here is some code you can maybe use? rewrite
I use it to check for pdfs when we create documentation where i merge several pdf files into one!
CheckIfFileExistInVault(Pdffilename & ".pdf")
Private Sub CheckIfFileExistInVault(ByVal VaultFileName As String)
Dim win As System.Security.Principal.WindowsIdentity
win = System.Security.Principal.WindowsIdentity.GetCurrent()
Dim UserName = win.Name '.Substring(win.Name.IndexOf("\") + 1)
Dim results As VDF.Vault.Results.LogInResult = VDF.Vault.Library.ConnectionManager.LogIn("Name of Vault server", "Name of vault", UserName, "", VDF.Vault.Currency.Connections.AuthenticationFlags.WindowsAuthentication, Nothing)
Dim connection As VDF.Vault.Currency.Connections.Connection = results.Connection
If Not results.Success Then
'MsgBox("Login error")
Return
End If
If results.Success Then
'Start at the root Folder.
Dim root As VDF.Vault.Currency.Entities.Folder = connection.FolderManager.RootFolder
Dim oFileIteration As VDF.Vault.Currency.Entities.FileIteration = Nothing
Try
' Get the FileIteration
oFileIteration = getFileIteration(VaultFileName, connection)
If oFileIteration Is Nothing Then
VaultFileIsExisting = False
VDF.Vault.Library.ConnectionManager.LogOut(connection)
Exit Sub
Else
'MsgBox("File found" & vaultfilename)
VaultFileIsExisting = True
VDF.Vault.Library.ConnectionManager.LogOut(connection)
Exit Sub
End If
Catch ex As Exception
VDF.Vault.Library.ConnectionManager.LogOut(connection)
Exit Sub
End Try
End If
End Sub
Public Function getFileIteration(ByVal nameOfFile As String, ByVal connection As VDF.Vault.Currency.Connections.Connection) As VDF.Vault.Currency.Entities.FileIteration
Dim conditions As ACW.SrchCond()
ReDim conditions(0)
Dim lCode As Long = 1
Dim Defs As ACW.PropDef() = connection.WebServiceManager.PropertyService.GetPropertyDefinitionsByEntityClassId("FILE")
Dim Prop As ACW.PropDef = Nothing
For Each def As ACW.PropDef In Defs
If def.DispName = "File Name" Then
Prop = def
End If
Next def
Dim searchCondition As ACW.SrchCond = New ACW.SrchCond()
searchCondition.PropDefId = Prop.Id
searchCondition.PropTyp = ACW.PropertySearchType.SingleProperty
searchCondition.SrchOper = lCode
searchCondition.SrchTxt = nameOfFile
conditions(0) = searchCondition
' search for files
Dim FileList As List(Of Autodesk.Connectivity.WebServices.File) = New List(Of Autodesk.Connectivity.WebServices.File)()
Dim sBookmark As String = String.Empty
Dim Status As ACW.SrchStatus = Nothing
While (Status Is Nothing OrElse FileList.Count < Status.TotalHits)
Dim files As Autodesk.Connectivity.WebServices.File() = connection.WebServiceManager.DocumentService.FindFilesBySearchConditions(conditions, Nothing, Nothing, True, True, sBookmark, Status)
If (Not files Is Nothing) Then
FileList.AddRange(files)
End If
End While
Dim oFileIteration As VDF.Vault.Currency.Entities.FileIteration = Nothing
For i As Integer = 0 To FileList.Count - 1
If FileList(i).Name = nameOfFile Then
oFileIteration = New VDF.Vault.Currency.Entities.FileIteration(connection, FileList(i))
End If
Next
Return oFileIteration
End Function
Regards Kent boettger