Лёгкое программирование под 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) |
Таким образом, вы можете удалять:
- Файлы или их версии.
- Стандартно, либо безусловно.
Сравним методы детально:
Метод |
Особенности |
Возвращаемое значение |
DeleteFile |
Нет |
Ничего |
DeleteFile |
Метод удалит файл, даже если у него есть ограничения на удаление. Выполнение метода завершится сбоем, если есть ограничения на удаление и пользователь не вошёл как администратор. |
То же |
DeleteFiles |
Выполнение метода завершится сбоем, если есть ограничения на удаление на любом из файлов. Метод удаляет файлы из хранилища за один проход. Если одно из удалений завершится сбоем, то операция будет отменена. В зависимости от типа ошибки, некоторые файлы могут быть удалены, а другие по-прежнему останутся в хранилище. |
То же |
DeleteFiles |
Этот метод удалит файл, даже если у него есть ограничения на удаление. Выполнение метода завершится сбоем, если есть ограничения на удаление и пользователь не вошёл как администратор. Метод удаляет файлы из хранилища за один проход. Если одно из удалений завершится сбоем, то операция будет отменена. В зависимости от типа ошибки, некоторые файлы могут быть удалены, а другие по-прежнему останутся в хранилище. |
То же |
DeleteFile |
Даже если версия по всем критериям готова к удалению, это не гарантирует её удаления. Версии, привязанные к элементам, не будут удалены. Помеченные, либо заблокированные версии не будут удалены. Версии не будут удалены, если они связаны с другими версиями, которые также не были удалены. Самая последняя версия не может быть удалена. В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена. |
FileDelStatus[]. Элементы массива содержат два поля: 1. File: объект типа File 2. Code: 1 - файл уделён; 2 - файл не удалён |
DeleteFile |
Эта функция имеет меньше ограничений, чем DeleteFileVersions по версиям, которые могут быть удалены. Помеченные, либо заблокированные версии могут быть удалены. Версии могут быть удалены, если они связаны с другими версиями. Версии, привязанные к элементам, не могут быть удалены. Самая последняя версия не может быть удалена. |
То же |
DeleteFile |
Даже если версия по всем критериям готова к удалению, это не гарантирует её удаления. Версии, привязанные к элементам, не будут удалены. Помеченные, либо заблокированные версии не будут удалены. Версии не будут удалены, если они связаны с другими версиями, которые также не были удалены. Самая последняя версия не может быть удалена. В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена. |
То же |
DeleteFile |
Эта функция имеет меньше ограничений, чем DeleteFileVersionsByMasterIds по версиям, которые могут быть удалены. Помеченные, либо заблокированные версии могут быть удалены. Версии могут быть удалены, если они связаны с другими версиями. Версии, привязанные к элементам, не будут удалены. Самая последняя версия не может быть удалена. В том случае, если нет соответствующего возвращаемого объекта для данного входного ID файла, можно предположить, что версия не была удалена. |
То же |
Более подробно о применении методов в следующих статьях.
Обсуждение: http://adn-cis.org/forum/index.php?topic=886
Опубликовано 04.08.2014Отредактировано 07.08.2014 в 17:59:30