Project Server ’13 remove EventHandler via CSOM

На днях столкнулся с тем, что через серверный UI не удается удалить EventHandler на проектном сервере. В итоге решением стало использование CSOM-модели Project Server. 

В целом projectCotenxt имеет EventHandler мембер, который требуется инициализировать через Load() -> ExecuteQuery(); затем ищем нужный eventHandler который затем необходимо удалить последовательностью вызовов Remove()->Update()->ExecuteQuery();

 

var projDeletedEventHandlerId = new Guid("0FB1389D-E620-4062-A99B-9E5716CC958E");
 
using (var projectContext = new ProjectContext(pwaUrl))
{
    var eh = projectContext.EventHandlers.GetByGuid(projDeletedEventHandlerId);
    projectContext.EventHandlers.Remove(eh);
    projectContext.EventHandlers.Update();
    projectContext.ExecuteQuery();
}

Managing Project Server Event Handlers via the Managed Client Object Model

Добавить комментарий