I am trying to rename a file accordance to a pattern, but it seems I have trouble doing it - do I need to checkout and checkin file after the change? If yes can you provide a code sample (C#) how to checkout file, rename it, checkin using Vault API? Thank you.
Solved! Go to Solution.
Solved by darius.simkunas. Go to Solution.
The CheckInUploadedFile method has a newFilename parameter.
You rename a file by checking it out and checking it in with a new name.
-Dave
Thanks. When I use conn.WebServiceManager.DocumentService.CheckoutFile there is no checked out file at the location I specified (C:\tmp"). What I am doing wrong?
CheckinUploadedFile asks me for uploaded file, but I don't know how to do it. If you can provide a code example for checkout, checkin it would be great.
Please see this blog post: http://justonesandzeros.typepad.com/blog/2013/05/how-to-acquire-files.html
-Dave
Hi,
File checkedOutNewFile = CheckOut(folders[0], selectedFile);
if (checkedOutNewFile != null)
{
CheckIn(folders[0], checkedOutNewFile, newname, Coment);
}
public File CheckOut(Folder folder, File file)
{
string localPath = _connection.WorkingFoldersManager.GetWorkingFolder(folder.FullName).FullPath;
if (!System.IO.Directory.Exists(localPath))
System.IO.Directory.CreateDirectory(localPath);
AcquireFilesSettings settings = new VDF.Vault.Settings.AcquireFilesSettings(_connection);
settings.OptionsRelationshipGathering.FileRelationshipSettings.VersionGatheringOption = Autodesk.DataManagement.Client.Framework.Vault.Currency.VersionGatheringOption.Latest;
settings.OptionsResolution.OverwriteOption = AcquireFilesSettings.AcquireFileResolutionOptions.OverwriteOptions.ForceOverwriteAll;
settings.LocalPath = new VDF.Currency.FolderPathAbsolute(localPath);
settings.AddFileToAcquire(
new VDF.Vault.Currency.Entities.FileIteration(_connection, file),
VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download | VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Checkout);
VDF.Vault.Results.AcquireFilesResults result = _connection.FileManager.AcquireFiles(settings);
foreach (var r in result.FileResults)
{
return m_serviceManager.DocumentService.GetFileById(r.File.EntityIterationId);
}
public File CheckIn(Folder folder, File file, string newname,string comm)
{
string localPath = _connection.WorkingFoldersManager.GetWorkingFolder(folder.FullName).FullPath;
string filePath = System.IO.Path.Combine(localPath, file.Name);
VDF.Vault.Currency.Entities.FileIteration ff = _connection.FileManager.CheckinFile(
new VDF.Vault.Currency.Entities.FileIteration(_connection, file), comm, false, null, null,
true, newname, file.FileClass, false,
new VDF.Currency.FilePathAbsolute(filePath));
return m_serviceManager.DocumentService.GetFileById(ff.EntityIterationId);
}
I have renamed file successfully as per your code. But, now, the links are broken. What I have missed. How I can keep links while renaming the file?
Can't find what you're looking for? Ask the community or share your knowledge.