PS2007 Project Details Sample (C#)

This is the first of a few posts on the same sample.  Wow this must be a big sample to have multiple posts... well yes and no.  The sample is pretty straight forward: List the projects in an instance of Project Server 2007, then display details about the projects.  What makes this interesting is I'm going to do the same thing in multiple programming languages/ environments.

We'll start with C#, since this is where the sample begins.  I'm not going to walk through every nuance of the to code, just the highlights.  I'll leave the details as an exercise to the reader :). 

We start with a connection to the Project web service and a main page (MainApp.cs).  The main page lists all the projects bound to a list box.  The magic of this whole sample is binding the datasets returned from the web service to controls.  In total line of non-generated code there isn't a whole lot.  You can double-click a project or click the display button to bring up the project details (ProjectDetails.cs).  The most interesting part of mainapp.cs is how I bound the project to the list with Guids so you already have the Guid when opening the project details page.  Oh BTW the location of the web service is in the Settings section of Project properties.

Project Details is a little more interesting it has a number of tabs that display different project details.  The really interesting tabs are the tasks, assignments, and resources tabs.  They are all grids which show the list of items with selected columns.  If you double click any of those entities you will get detailed information about those entities.

The sample isn't overly complex, but does show you all the columns available for each entity.

ProjectDetailsCS.zip