Дата выдачи файла

Автор Тема: Дата выдачи файла  (Прочитано 17006 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Дата выдачи файла
« : 16-11-2018, 11:54:16 »
Как можно добраться до свойства файла "выдан"?


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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #1 : 16-11-2018, 16:00:44 »
Могу предположить (но не могу проверить), что это одно из свойств Autodesk.Connectivity.WebServices.File
Или CkInDate, или CreateDate, или ModDate
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Дата выдачи файла
« Ответ #2 : 19-11-2018, 08:40:56 »
Александр Ривилис, CkInDate (CheckOut = true) возвращает дефолтное значение. CreateDate - дата создания версии предыдущей, ModDate - возвращает дату последнего редактирования.



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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #3 : 19-11-2018, 13:53:18 »
Александр Ривилис, CkInDate (CheckOut = true) возвращает дефолтное значение. CreateDate - дата создания версии предыдущей, ModDate - возвращает дату последнего редактирования.



Задам вопрос в ADN DevHelp. Конечно было бы неплохо иметь картинку с английской версией Vault, а то они не поймут о чем речь.
И не одну строчку, а полноценную картинку, в котором видно где находится это поле.
« Последнее редактирование: 19-11-2018, 19:57:05 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Дата выдачи файла
« Ответ #4 : 20-11-2018, 08:33:27 »
Александр Ривилис, данное поле сидит в свойствах файла

Я надеюсь такая информация поможет. Был бы метод, который принимает файл/Id файла + propertyDefinition

connection.PropertyManager.GetPropertyValue(IEntity entity, PropertyDefinition propDef, PrppertyValueSetting setting)

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #5 : 20-11-2018, 10:23:29 »
Был бы метод, который принимает файл/Id файла + propertyDefinition

connection.PropertyManager.GetPropertyValue(IEntity entity, PropertyDefinition propDef, PrppertyValueSetting setting)
FileIteration имеет интерфейс IEntity. В свою очередь есть конструктор FileIteration:
Код - C# [Выбрать]
  1. public FileIteration(
  2.    Connection vltConn,
  3.    File webServiceFile
  4. )
Так что по логике должно сработать. Запрос в ADN DevHelp я уже отправил, но это будет не быстро...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #6 : 20-11-2018, 14:47:22 »
Как ни странно, но первый ответ из ADN DevHelp я уже оперативно получил. Но он такой же как и я предложил в первый раз - CreateDate. Я передал картинки и показал, что дата/время не то и что конкретно нужно. Надеюсь, что смогут помочь.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Дата выдачи файла
« Ответ #7 : 20-11-2018, 14:51:00 »
Александр Ривилис, все-таки покопавшись нашла решение и один подводный камушек.

получить нужное свойство файла можно 2 способами:
Код - C# [Выбрать]
  1. VDF.Vault.Currency.Properties.PropertyDefinitionDictionary dfg = connection.PropertyManager.GetPropertyDefinitions(VDF.Vault.Currency.Entities.EntityClassIds.Files, null, VDF.Vault.Currency.Properties.PropertyDefinitionFilter.IncludeAll);
  2.                 var res = dfg.Where(prop => prop.Value.SystemName == "CheckoutDate").First();
либо
Код - C# [Выбрать]
  1. var propDefInfos = connection.WebServiceManager.PropertyService.GetPropertyDefinitionInfosByEntityClassId("FILE", null);
  2.                 var result = propDefInfos.Where(prof => prof.PropDef.SysName == "CheckoutDate").First();

Дальше вызывается метод
Код - C# [Выбрать]
  1. connection.WebServiceManager.PropertyService.GetProperties("FILE", new long[] { qw.Id }, new long[] { result.PropDef.Id });

Если в метод передавать File.MasterId, а не File.Id, метод вернет null


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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #8 : 20-11-2018, 14:55:58 »
Bazinga,
Так что можно сказать что совместными усилиями вопрос решился? Или еще какие-то вопросы остались?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Дата выдачи файла
« Ответ #9 : 20-11-2018, 15:07:41 »
Александр Ривилис, в принципе решился вопрос. Одно уточнение только по CreateDate



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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #10 : 20-11-2018, 15:10:15 »
Александр Ривилис, в принципе решился вопрос. Одно уточнение только по CreateDate



А можно фрагмент кода, который выдаёт это окошко? Отправлю его в ADN DevHelp, но немного подожду - возможно они предложат другое решение.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Отмечено как Решение Александр Ривилис 20-11-2018, 15:12:58

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

  • ADN Club
  • ***
  • Сообщений: 101
  • Карма: 4
Re: Дата выдачи файла
« Ответ #11 : 20-11-2018, 15:12:09 »
Код - C# [Выбрать]
  1. var propDefInfos =
  2.       connection.WebServiceManager.PropertyService.GetPropertyDefinitionInfosByEntityClassId("FILE", null);
  3. var result =
  4.       propDefInfos.Where(prof => prof.PropDef.SysName == "CheckoutDate").First();
  5.  
  6. File[] files =
  7.       connection.WebServiceManager.DocumentService.GetLatestFilesByFolderId(selection.Id, false);
  8.  
  9. foreach (File qw in files)
  10. {
  11.     if (qw.CheckedOut)
  12.     {
  13.         var value = connection.WebServiceManager.PropertyService.GetProperties("FILE",
  14.                                new long[] { qw.Id }, new long[] { result.PropDef.Id }).First();
  15.         System.Windows.Forms.MessageBox.Show(qw.CkInDate + " CkInDate\n " +
  16.                                qw.CreateDate + " CreateDate\n " +
  17.                                qw.ModDate + " ModDate\n " +
  18.                                value.Val + " CheckoutDate");
  19.     }
  20. }
« Последнее редактирование: 20-11-2018, 15:20:52 от Александр Ривилис »

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #12 : 20-11-2018, 15:14:37 »
Bazinga,
Отлично! Спасибо!
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13886
  • Карма: 1788
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Дата выдачи файла
« Ответ #13 : 21-11-2018, 18:32:07 »
Bazinga,
В ADN DevHelp подтвердили, что это правильный и единственный способ.
Код - C# [Выбрать]
  1. PropDef filePropdef = connection.WebServiceManager.PropertyService
  2.   .GetPropertyDefinitionsByEntityClassId("FILE").First(n => n.SysName == "CheckoutDate");
  3.  
  4. PropInst Properties = connection.WebServiceManager.PropertyService
  5.   .GetPropertiesByEntityIds("FILE", new long[] { selectedFile.Id }).First(n=>n.PropDefId == fileProps.Id);
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение