Изменить владельца проекта с помощью PSI 2010(интерфейс Project Server)
Я хочу изменить ProjectOwnerUID с помощью PSI(Project Server Interface). Я написал, что с последующим аналогичным кодом
var projectDataSet = this.GetProjectDataSet(projectInfo.ProjectUID);
var orginalProject = this.GetProject(projectInfo.ProjectUID, projectDataSet);
var sessionUID = this.CheckOutProject(projectInfo.ProjectUID);
if (!string.IsNullOrEmpty(projectInfo.ProjectOwnerName))
{
var resourceManager = new Resource();
var ownerResource = resourceManager.GetResource(projectInfo.ProjectOwnerName);
if (ownerResource == null)
{
throw new Exception("this is not valid");
}
orginalProject.ProjectOwnerID = ownerResource.ResourceUID;
}
this.UpdateProject(sessionUID, projectDataSet);
к сожалению, когда курсор попадает в строку UpdateProject, он выдает исключение с номером кода
ProjectServerError(s) LastError=ProjectInvalidOwner Инструкции: передайте это в конструктор PSClientError, чтобы получить доступ ко всей информации об ошибках
Внутренняя ошибка 1056(неверный владелец проекта).
Я не знаю, что случилось, что выдало это исключение
Как я могу решить эту проблему?
1 ответ
Эта проблема возникает, когда у вас нет прав на редактирование информации о проекте с использованием следующего фрагмента кода, который вы можете сообщить серверу проекта для запуска этого фрагмента кода, не проверяйте разрешения!!
using Microsoft.SharePoint;
public void MyVoid()
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//Write ur Codes here :)
});
}