2011-12-29 2 views
1

Я создаю 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 

ответ

Смежные вопросы