Search code examples
c#asp.netcsomms-project-server-2013

How to get project cost value in microsoft project 2013 PWA csom


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;

Solution

  • [SOLVED]

    i used this

    dr["Cost"] = pubProj.CurrencySymbol + pubProj.Tasks[0].ActualCost;