我们的用户(资源)可以通过自定义前端将自己分配给现有任务。
在 Project Server 2010 中,我们使用了当前版本不再支持的 PSI。
StatusingClient sc = new StatusingClient(httpBinding, endpointAddress);
sc.CreateNewAssignmentWithWork(parameters);
然后,该分配请求可以由具有规划权限的项目负责人批准。
我们在 CSOM 中找不到等效的方法。
使用 CSOM,我们只能作为具有计划权限的用户创建新分配(但当然不是所有用户都应该拥有这些权限)。
DraftProject projectDraft = pubProject.CheckOut();
projContext.Load(projectDraft.Tasks);
projContext.ExecuteQuery();
var task = projectDraft.Tasks.Where(t => t.Id == taskUid).FirstOrDefault();
if (task != null)
{
AssignmentCreationInformation assignment = new AssignmentCreationInformation();
assignment.Id = Guid.NewGuid();
assignment.TaskId = task.Id;
assignment.ResourceId = userRes.Id;
task.Assignments.Add(assignment);
projectDraft.Assignments.Add(assignment);
projectDraft.Update();
}
projContext.ExecuteQuery();
projectDraft.Publish(true);
projectDraft.CheckIn(true);
projContext.ExecuteQuery();
任何提示如何解决此任务?