ITaskService.Delegate — метод (Task, IEnumerable<StaffEmployee>, StaffEmployee, Boolean, Boolean, String)

Делегирует задание.

Синтаксис

bool Delegate(Task task, IEnumerable<StaffEmployee> delegates, StaffEmployee noticeable, bool restrictDelegation, bool returnAfterDelegation, string comment)
Параметры
task

Тип: Task

Задание

delegates

Тип: System.Collections.Generic.IEnumerable<StaffEmployee>

Список сотрудников, которым делегируется задание

noticeable

Тип: StaffEmployee

Уведомляемый сотрудник, если при делегировании невозможно однозначно разрешить, кто является исполнителем задания

restrictDelegation

Тип: System.Boolean

Устанавливает флаг "Запретить делегирование"

returnAfterDelegation

Тип: System.Boolean

Устанавливает флаг "Возврат с делегирования"

comment

Тип: System.String

Комментарий при делегировании

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

Тип: System.Boolean

true — делегирование выполнено успешно, иначе — false

Исключения

Исключение Условие

System.ArgumentNullException

Ошибка возвращается в случае, если не задан параметр task или delegates.

System.MethodAccessException

Ошибка возвращается, если недостаточно прав для делегирования задания.

System.InvalidOperationException

Ошибка возвращается в случае, если запрещено делегировать задание вручную.

Заметки

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

Примеры

(1)

ITaskService taskService = objectContext.GetService<ITaskService>(); (2)

Task task = objectContext.GetObject<Task>(new Guid("00000000-0000-0000-0000-000000000000")); (3)

StaffEmployee delegEmployee = objectContext.GetObject<StaffEmployee>(new Guid("00000000-0000-0000-0000-000000000001"));
StaffEmployee noticEmployee = objectContext.GetObject<StaffEmployee>(new Guid("00000000-0000-0000-0000-000000000002"));
IEnumerable<StaffEmployee> delegates = new StaffEmployee[] { delegateEmployee }; (4)

taskService.Delegate(task, delegates, noticEmployee, true, true, "Передано компетентному сотруднику");
objectContext.AcceptChanges(); (5)
1 Инициализация контекста объектов.
2 Получение сервиса.
3 Получение делегируемого задания.
4 Получение сотрудника, которому выполняется делегирование, и уведомляемого сотрудника.
5 Делегирование задания.