переименоване файла

Автор Тема: переименоване файла  (Прочитано 7931 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BazingaАвтор темы

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
переименоване файла
« : 20-03-2019, 08:48:37 »
https://forums.autodesk.com/t5/vault-customization/vault-api-how-to-rename-a-file/td-p/5720508 делаю по аналогии с этим решением.
Если файл заново переименовываю метод CheckOut возвращает постоянно null.
Код - C# [Выбрать]
  1. private File CheckOut(Folder folder, File file, Connection connection)
  2.         {
  3.             string localpath = connection.WorkingFoldersManager.GetWorkingFolder(folder.FullName).FullPath;
  4.             if (!System.IO.Directory.Exists(localpath))
  5.                 System.IO.Directory.CreateDirectory(localpath);
  6.             VDF.Vault.Settings.AcquireFilesSettings settings = new VDF.Vault.Settings.AcquireFilesSettings(connection);
  7.             settings.OptionsRelationshipGathering.FileRelationshipSettings.VersionGatheringOption = VDF.Vault.Currency.VersionGatheringOption.Latest;
  8.             settings.OptionsResolution.OverwriteOption = VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions.OverwriteOptions.ForceOverwriteAll;
  9.             settings.LocalPath = new VDF.Currency.FolderPathAbsolute(localpath);
  10.             settings.AddFileToAcquire(new VDF.Vault.Currency.Entities.FileIteration(connection, file), VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download | VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Checkout);
  11.             VDF.Vault.Results.AcquireFilesResults results = connection.FileManager.AcquireFiles(settings);
  12.             foreach(var r in results.FileResults)
  13.             {
  14.                 return connection.WebServiceManager.DocumentService.GetFileById(r.File.EntityIterationId);
  15.             }
  16.             return null;
  17.         }
Почему на повторное переименование так возвращает?
Можно как-то иначе реализовать переименование?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13827
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: переименоване файла
« Ответ #1 : 20-03-2019, 17:01:48 »
Bazinga,
Ты делаешь и CheckOut и CheckIn для переименования? Ну и похоже исправленный вариант кода здесь: https://forums.autodesk.com/t5/vault-customization/vault-api-how-to-rename-a-file/m-p/6240829/highlight/true#M4051
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн BazingaАвтор темы

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: переименоване файла
« Ответ #2 : 21-03-2019, 08:41:14 »
Александр Ривилис, проблема даже не в ссылках, а в том что сам метод CheckOut возвращает null.
если в метод для переименования просто файл передавать, фаталит с ошибкой "1018 CheckinNotCheckedOut Cannot check in file because the file is not currently checked out"
В sdk еще можно изменить с помощью метода
Код - C# [Выбрать]
  1. public CustEnt UpdateCustomEntity(
  2.    System.long customEntityId,
  3.    System.string newName
  4. )
  5.  
но тоже выдает ошибку (283 BadEntityId )