I'm making a Web API to get data from Project Online to my app in C#. I already done my connection and load my timesheets with no problem. Now my team leader asked me to get the total work scheduled for the user logged in, remaining work and work reported on each task that appears in the timesheet. This information is visible in the timesheet page if you select "View: My Work" in the options ribbon:
Work - total work scheduled for the user when the task was created
Actual Work - work hours reported until now, for the user logged in
Remaining Work - remaining work in the task for the user
I'm able to get the total work scheduled, but not the other two properties. This is the code i got so far:
context.Load(context.TimeSheetPeriods, c => c.Where(p => p.Start <= DateTime.Now && p.End >= DateTime.Now).
IncludeWithDefaultProperties(p => p.TimeSheet,
p => p.TimeSheet.Manager,
p => p.TimeSheet.Manager.Email,
p => p.TimeSheet.Lines.Where(
l => l.LineClass == TimeSheetLineClass.StandardLine).
IncludeWithDefaultProperties(l => l.Assignment,
l => l.Assignment.Owner.Email,
l => l.Assignment.Resource,
l => l.Assignment.Task,
l => l.Work)));
context.ExecuteQuery();
List<TimeSheetLine> linesList = myPeriod.TimeSheet.Lines.ToList();
foreach (TimeSheetLine x in linesList)
{
Console.WriteLine("\nProject name: {0}; Task name: {1}; Work reported: {2}; " +
"Planned work: {3};\n x.Assignment.RegularWork: {4}; x.Assignment.RemainingWork: {5}; x.Assignment.ActualWork: {6};",
x.ProjectName, x.TaskName, x.Work.Where(w => w.Start.Date == DateTime.Now.Date).FirstOrDefault().ActualWork,
x.Work.Where(w => w.Start.Date == DateTime.Now.Date).FirstOrDefault().PlannedWork,
x.Assignment.RegularWork, x.Assignment.RemainingWork, x.Assignment.ActualWork);
}
The last row is where my problem is. x.Assignment.RegularWork
gives me the Work, and in theory x.Assignment.RemainingWork
should give me the Remaining Work, and x.Assignment.ActualWork
the Actual Work. Should but it does not. This is the console output:
As you can see, x.Assignment.RegularWork
matches with the Work in the timesheet, but the other two properties doesn't. Try after try this was the closest I got. Can anyone give me a hand? Thanks in advance.