In diesem Beispiel werden die Stunden über die PSI (Project Server Interface) zurückgemeldet.
Diese Rückmeldung erfolgt in drei Schritten:
public void SubmitAssignmentUpdates()
{
//Schritt 1: Parameterbildung und Erstellen einer change.xml:
DateTime startDate, endDate;
decimal Hours;
int iHours;
startDate = Convert.ToDateTime(Convert.ToString(LabelVarDatum.Value.ToString().Substring(0, 10) + " 08:00:00"));
endDate = Convert.ToDateTime(Convert.ToString(LabelVarDatum.Value.ToString().Substring(0, 10) + " 17:00:00"));
Hours = Convert.ToDecimal(TextBoxHours.Text);
Hours = Hours * 100;
Hours = Hours * 60000;
Hours = Hours / 100;
iHours = Convert.ToInt32(Hours);
statService = PJContext.Current.PSI.StatusingWebService;
proj_uid = new Guid(LabelVarProjUID.Value);
assn_uid = new Guid(LabelVarAssnUID.Value);
#region Create updates to assignments
StringBuilder changeXml = new StringBuilder();
changeXml.AppendFormat("", proj_uid.ToString());
changeXml.AppendFormat("", assn_uid.ToString());
changeXml.AppendFormat("{0}", iHours, startDate.ToString("s"), endDate.ToString("s"));
changeXml.Append("");
#endregion
#region Update Status
//Schritt 2: Speicherung
statService.SetAssignmentWorkData(changeXml.ToString());
#endregion
#region Submit assignment updates
//Schritt 3: Übermittlung
statService.SubmitStatus(new Guid[] { assn_uid }, "Assignment work data update from code");
#endregion
}