Я создаю LINQPad сценарий, где я хочу, чтобы достичь следующего:Изменение владельца рабочего процесса
1) Назначьте все проекты и активные рабочие процессы себе 2) Включить все проекты рабочих процессов
Моя проблема заключается в том, что если я попытаюсь изменить владельца активного рабочего процесса, я получаю сообщение об ошибке: я не могу обновить рабочий процесс, потому что он активен. Если я попробую деактивировать, то это ошибки, говорящие, что я не являюсь владельцем (поэтому мне не разрешено). Это сбивает с толку, потому что я легко могу это сделать с помощью пользовательского интерфейса.
код я использую для обновления владельца:
var systemUser =
var workflow = ...;
workflow.OwnerId = systemUser.ToEntityReference();
UpdateObject(workflow);
SaveChanges(); //exception: Cannot update a published workflow definition
код я использую, чтобы отключить рабочий процесс:
var request = SetStateRequest {
EntityMoniker = workflow.ToEntityReference(),
State = new OptionSetValue(/*state value*/),
Status = new OptionSetValue(/* status value*/)
};
service.Execute(request); //exception: The workflow cannot be published or unpublished by someone who is not its owner