IOperationRepository - интерфейс

Репозиторий, управляющий операциями.

Definition

Пространство имён: Tessa.Platform.Operations
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public interface IOperationRepository

Методы

CompleteAsync Завершает операцию заданного типа, т.е. переводит её в состояние [Tessa.Platform.Operations.OperationState.Completed].
CreateAsyncСоздаёт операцию с заданными параметрами.
DeleteAsync Удаляет операцию с заданным идентификатором. Если операция не существовала, то не выдаётся сообщений об ошибках.
DeleteOlderThanAsyncВыполняет удаление записей, которые были созданы раньше заданных даты и времени.
GetAllAsync(Boolean, CancellationToken)Возвращает информацию по всем операциям. При запросе с клиента метод доступен только администраторам.
GetAllAsync(Guid, Boolean, CancellationToken)Возвращает информацию по всем операциям заданного типа. При запросе с клиента метод доступен только администраторам.
GetStateAndProgressAsync Возвращает состояние и прогресс операции в процентах или null, если операция не найдена.
GetStateAsync Возвращает состояние операции с заданным идентификатором или null, если операция не существует.
IsAliveAsyncВозвращает признак того, что операция с заданным идентификатором существует.
ReportProgressAsync Сообщает о проценте готовности заданной операции, если операция находится в состоянии [Tessa.Platform.Operations.OperationState.InProgress]? и возвращает признак того, что изменение процента готовности удалось.
StartAsync Запускает операцию с заданным идентификатором. Операция должна быть создана и находиться в состоянии [Tessa.Platform.Operations.OperationState.Created].
StartFirstAsync Запускает из созданных операций заданного типа и возвращает идентификатор запущенной операции или null, если подходящая операция отсутствует.
TryGetAsync Возвращает информацию по операции с заданным идентификатором или null, если операция отсутствует.
TryGetOperationIDByRequestHashAsync Возвращает идентификатор первой попавшейся операции по заданным идентификатору типа и хешу от запроса или null, если операция не найдена.

Методы расширения

DeleteOperationSafeAsync Безопасное удаление операции
(Определяется AdHelper)
ExecuteInLockAsync Асинхронно выполняет действие actionFunc внутри эксклюзивной блокировки. Никакое другое вычисление не сможет быть выполнено, пока выполняется действие. При этом создаётся операция c ID lockOperationTypeID с указанным описанием operationDescription. Возвращает признак того, что блокировка была взята и действие было выполнено. Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки. Вторым параметром возвращается идентификатор операции. При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных. Использование нескольких соединений может быть полезно для больших таймаутов, чтобы не удерживать одно и то же соединение несколько минут. Чтобы гарантировать выполнение на одном и том же соединении с БД, вызовите метод внутри блока await using(dbScope.Create()) { ... }.
(Определяется OperationsExtensions)
ExecuteInRolesLockAsync Асинхронно выполняет действие actionFunc внутри эксклюзивной блокировки на вычисление состава ролей или замещений. Никакое другое вычисление не сможет быть выполнено, пока выполняется действие. При этом создаётся операция LockOperationID с указанным описанием operationDescription. Возвращает признак того, что блокировка была взята и действие было выполнено. Значение false возвращается, если блокировку взять не удалось из-за таймаута при ожидании блокировки. При взятии блокировки все операции не обязательно выполняются в одном и том же соединении с базой данных. Использование нескольких соединений может быть полезно для больших таймаутов, чтобы не удерживать одно и то же соединение несколько минут. Чтобы гарантировать выполнение на одном и том же соединении с БД, вызовите метод внутри блока using(dbScope.Create()) { ... }.
(Определяется RolesExtensions)

См. также