|
In diesem Beispiel werden die Stunden über die PSI (Project Server Interface) zurückgemeldet.
Diese Rückmeldung erfolgt in drei Schritten:
- Bilden eines Filters für die Statusänderung (entspricht dem Eintrag von Stunden in eine Tabellenzelle in der PWA)
- Statusspeicherung (entspricht der Funktion "Speichern" in der PWA)
-
Statusübermittlung (enspricht der Funktion "Status senden" in der PWA)
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 }
|