I want to display information from Project Server in Gridview. but i can't get the value of the Project cost.
Here is my approach to get the project cost value
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);
}
How to get the project cost value in Microsoft Project Server?
[SOLVED]
i use this
dr["Cost"] = pubProj.CurrencySymbol + pubProj.Tasks[0].ActualCost;