【发布时间】:2016-05-26 20:33:51
【问题描述】:
我们在 Microsoft SharePoint 2013 中使用 Microsoft Project Server 2013。是否可以在项目中创建任务,例如通过 CodeBehind 中的 C# 从 WebPart 创建任务?
【问题讨论】:
标签: sharepoint sharepoint-2013 project-server ms-project-server-2013
我们在 Microsoft SharePoint 2013 中使用 Microsoft Project Server 2013。是否可以在项目中创建任务,例如通过 CodeBehind 中的 C# 从 WebPart 创建任务?
【问题讨论】:
标签: sharepoint sharepoint-2013 project-server ms-project-server-2013
我不知道您是否可以使用 Webpart 来创建任务,但是通过 CSOM 您可以连接到您的 PS2013 项目并创建一些任务。
我将在此处发布一段可以帮助您的代码:
您必须首先像这样“签出”项目:
projContext.Load(projContext.Projects);
projContext.ExecuteQuery();
var proj = projContext.Projects.First(p => p.Name == "Project");
projContext.ExecuteQuery();
var draftProj = proj.CheckOut();
projContext.Load(draftProj.Tasks);
projContext.ExecuteQuery();
CreateNewTask(draftProj);
然后,您可以调用创建新任务的方法发送“草稿项目”
private static void CreateNewTask(DraftProject draftProj)
{
TaskCreationInformation nt = new TaskCreationInformation();
nt.Name = "Task name";
nt.Start = DateTime.Today;
nt.Duration = "20d";
nt.Id = Guid.NewGuid();
draftProj.Tasks.Add(nt);
projContext.Load(draftProj.Tasks);
draftProj.Update();
projContext.ExecuteQuery();
}
希望对你有帮助,
【讨论】:
.Update 调用返回的QueueJob? -- 之后不需要打电话给draftProj.CheckIn吗? (就像它会让项目处于奇怪的“已签出”状态?)