ADN Open CIS
Сообщество программистов Autodesk в СНГ

04/08/2014

Лёгкое программирование под Autodesk Vault Часть 25

Удаление файлов осуществляется с использованием методов DeleteFile* службы DocumentService.

Метод

Описание метода

Синтаксис C#

DeleteFileFromFolder

Удаление файла

public new void DeleteFileFromFolder(System.long fileMasterId, System.long folderId)

DeleteFileFromFolderUnconditional

Безусловное удаление файла

public new void DeleteFileFromFolderUnconditional(System.long fileMasterId, System.long folderId)

DeleteFilesFromFolder

Удаление нескольких файлов

public new void DeleteFilesFromFolder(System.long[] fileMasterIds, System.long folderId)

DeleteFilesFromFolderUnconditional

Безусловное удаление нескольких файлов

public new void DeleteFilesFromFolderUnconditional(System.long[] fileMasterIds, System.long folderId)

DeleteFileVersions

Удаление специфической версии файла

public FileDelStatus[] DeleteFileVersions(System.long[] fileIds)

DeleteFileVersionsUnconditional

Безусловное удаление специфических версий файла

public FileDelStatus[] DeleteFileVersionsUnconditional(System.long[] fileIds)

DeleteFileVersionsByMasterIds

Очистка старых версий файла на основании конкретных критериев

public FileDelStatus[] DeleteFileVersionsByMasterIds(System.long[] fileMasterIds, System.bool deleteUncontrolledVersions, System.int keepCount, System.int minAge, System.string comment)

DeleteFileVersionsByMasterIdsUnconditional

Безусловная очистка старых версий файла на основании конкретных критериев

public FileDelStatus[] DeleteFileVersionsByMasterIdsUnconditional(System.long[] fileMasterIds, System.bool deleteUncontrolledVersions, System.int keepCount, System.int minAge, System.string comment)

Таким образом, вы можете удалять:

  1. Файлы или их версии.
  2. Стандартно, либо безусловно.

Сравним методы детально:

 

Метод

Особенности

Возвращаемое значение

DeleteFile
FromFolder

Нет

Ничего

DeleteFile
FromFolder
Unconditional

Метод удалит файл, даже если у него есть ограничения на удаление. Выполнение метода завершится сбоем, если есть ограничения на удаление и пользователь не вошёл как администратор.

То же

DeleteFiles
FromFolder

Выполнение метода завершится сбоем, если есть ограничения на удаление на любом из файлов. Метод удаляет файлы из хранилища за один проход. Если одно из удалений завершится сбоем, то операция будет отменена. В зависимости от типа ошибки, некоторые файлы могут быть удалены, а другие по-прежнему останутся в хранилище.

То же

DeleteFiles
FromFolder
Unconditional

Этот метод удалит файл, даже если у него есть ограничения на удаление. Выполнение метода завершится сбоем, если есть ограничения на удаление и пользователь не вошёл как администратор. Метод удаляет файлы из хранилища за один проход. Если одно из удалений завершится сбоем, то операция будет отменена. В зависимости от типа ошибки, некоторые файлы могут быть удалены, а другие по-прежнему останутся в хранилище.

То же

DeleteFile
Versions

Даже если версия по всем критериям готова к удалению, это не гарантирует её удаления. Версии, привязанные к элементам, не будут удалены. Помеченные, либо заблокированные версии не будут удалены. Версии не будут удалены, если они связаны с другими версиями, которые также не были удалены. Самая последняя версия не может быть удалена.

В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена.

FileDelStatus[]. Элементы массива содержат два поля:

1. File: объект типа File

2. Code: 1 - файл уделён; 2 - файл не удалён

DeleteFile
Versions
Unconditional

Эта функция имеет меньше ограничений, чем DeleteFileVersions по версиям, которые могут быть удалены. Помеченные, либо заблокированные версии могут быть удалены. Версии могут быть удалены, если они связаны с другими версиями. Версии, привязанные к элементам, не могут быть удалены. Самая последняя версия не может быть удалена.

То же

DeleteFile
Versions
ByMasterIds

Даже если версия по всем критериям готова к удалению, это не гарантирует её удаления. Версии, привязанные к элементам, не будут удалены. Помеченные, либо заблокированные версии не будут удалены. Версии не будут удалены, если они связаны с другими версиями, которые также не были удалены. Самая последняя версия не может быть удалена.

В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена.

То же

DeleteFile
Versions
ByMasterIds
Unconditional

Эта функция имеет меньше ограничений, чем DeleteFileVersionsByMasterIds по версиям, которые могут быть удалены. Помеченные, либо заблокированные версии могут быть удалены. Версии могут быть удалены, если они связаны с другими версиями. Версии, привязанные к элементам, не будут удалены. Самая последняя версия не может быть удалена.

В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена.

То же

Более подробно о применении методов в следующих статьях.

Обсуждение: http://adn-cis.org/forum/index.php?topic=886

Опубликовано 04.08.2014
Отредактировано 07.08.2014 в 17:59:30