Weisswurstfr_startseite

G&S Weißwurstfrühstück
15.06.2012

Thema: MS Project Server
Weißwurstfrühstück

____________________

 

PM_Forum_Logo_2012_rgb

PM FORUM 2012
23. + 24.10.2012

Nürnberg
www.pm-forum.de

____________________

 

MS Project Schulungsprogramm

 
MS Project Server: Rückmeldung der aktuellen Arbeit über die PSI

In diesem Beispiel werden die Stunden über die PSI (Project Server Interface) zurückgemeldet.

Diese Rückmeldung erfolgt in drei Schritten:

  1. Bilden eines Filters für die Statusänderung (entspricht dem Eintrag von Stunden in eine Tabellenzelle in der PWA)
  2. Statusspeicherung (entspricht der Funktion "Speichern" in der PWA)
  3. 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
        }