Project Server の情報を Gridview に表示したいと考えています。しかし、プロジェクトのコストの値を取得できません。
プロジェクトのコスト値を取得するための私のアプローチは次のとおりです
projContext = new ProjectContext(pwaPath)
projContext.Credentials = new NetworkCredential(username, secpassword);
// Get the list of published projects in Project Web App.
projContext.Load(projContext.Projects,
Pro => Pro.IncludeWithDefaultProperties(
projectDetail => projectDetail.Id,
projectDetail => projectDetail.Name,
projectDetail => projectDetail.StartDate,
projectDetail => projectDetail.FinishDate,
projectDetail => projectDetail.Tasks,
projectDetail => projectDetail.PercentComplete,
projectDetail => projectDetail.Assignments,
projectDetail => projectDetail.ProjectResources,
projectDetail => projectDetail.CustomFields,
projectDetail => projectDetail.PercentComplete,
projectDetail => projectDetail.CurrencySymbol,
projectDetail => projectDetail.Assignments.IncludeWithDefaultProperties(
task => task.ActualCost),
projectDetail => projectDetail.DefaultOvertimeRate,
projectDetail => projectDetail.SpreadActualCostsToStatus));
projContext.ExecuteQuery();
DataTable dt = new DataTable();
dt.Clear();
dt.Columns.Add("ProjectID");
dt.Columns.Add("ProjectName");
dt.Columns.Add("Start");
dt.Columns.Add("End");
dt.Columns.Add("PercentComplete");
dt.Columns.Add("Cost");
foreach (PublishedProject pubProj in projContext.Projects)
{
DataRow dr = dt.NewRow();
dr["ProjectID"] = pubProj.Id.ToString();
dr["ProjectName"] = pubProj.Name;
dr["Start"] = pubProj.StartDate.ToString("yyyy-MM-dd");
dr["End"] = pubProj.FinishDate.ToString("yyyy-MM-dd");
dr["PercentComplete"] = pubProj.PercentComplete.ToString();
dr["Cost"] = pubProj.CurrencySymbol + pubProj.SpreadActualCostsToStatus;
dt.Rows.Add(dr);
}
Microsoft Project Server でプロジェクト コストの値を取得する方法は?
[解決済み]
私はこれを使います
dr["Cost"] = pubProj.CurrencySymbol + pubProj.Tasks[0].ActualCost;