Resource.ReadResourceAvailability Method

Returns a dataset of resource availability in a timephased data structure.

Namespace:  [Resource Web service]
Service reference: http://ServerName:32843/[Project Service Application GUID]/PSI/Resource.svc
Web service reference: http://ServerName/ProjectServerName/_vti_bin/PSI/Resource.asmx?wsdl

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Resource/ReadResourceAvailability", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Resource/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Resource/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Function ReadResourceAvailability ( _
    resUIDs As Guid(), _
    startDate As DateTime, _
    endDate As DateTime, _
    timeScale As Short, _
    includeProposedBookings As Boolean _
) As DataSet
'Usage
Dim instance As Resource
Dim resUIDs As Guid()
Dim startDate As DateTime
Dim endDate As DateTime
Dim timeScale As Short
Dim includeProposedBookings As Boolean
Dim returnValue As DataSet

returnValue = instance.ReadResourceAvailability(resUIDs, _
    startDate, endDate, timeScale, includeProposedBookings)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Resource/ReadResourceAvailability", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Resource/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Resource/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public DataSet ReadResourceAvailability(
    Guid[] resUIDs,
    DateTime startDate,
    DateTime endDate,
    short timeScale,
    bool includeProposedBookings
)

Parameters

  • resUIDs
    Type: []
    Array of resource GUIDs.
  • includeProposedBookings
    Type: System.Boolean
    Include assignments for which the resource is only tentatively scheduled.

Return Value

Type: System.Data.DataSet
Dataset with a table of dates and a table of timephased data.

Remarks

Project Server Permissions

Permission

Description

ViewResourceAvailability

Allows a user to view resource allocation data. Global permission.

Examples

The example uses the SvcResource namespace in the ProjectServerServices.dll proxy assembly. The ConfigClientEndpoints method uses an app.config file for setting the WCF binding, behavior, and endpoint. For information about creating a PSI proxy assembly and an app.config file, see Prerequisites for WCF-Based Code Samples.

The ReadResourceAvailability method returns the dataset resourceDS. The contents of the dataset are written to ResourceAvailability.xml.A sample of the TimephasedData structure from the actual output is shown below:

Note

The ReadResourceAvailabilityForGrid method is similar to the ReadResourceAvailability method, except the ReadResourceAvailabilityForGrid method does not return the resource GUID or project GUID in the DataSet.   ReadResourceAvailabilityForGrid is used only in Project Web App for displaying data in the JS Grid

<TimephasedData>
    <AssignmentUID>b2e5a49e-8cd7-42b3-97d8-4b9829f19a8f</AssignmentUID>
    <ProjectName>Capacity</ProjectName>
    <ResourceName>Fourth Coffee</ResourceName>
    <RowType>0</RowType>
    <ProjUID>00000000-0000-0000-0000-000000000000</ProjUID>
    <ResUID>2a4ba1a7-1d96-4086-8fa5-6dea243ed6b5</ResUID>
    <BookingType>0</BookingType>
    <Interval0>72000</Interval0>
    <Interval1>96000</Interval1>
    <Interval2>110400</Interval2>
    <Interval3>105600</Interval3>
    <Interval4>100800</Interval4>
    <Interval5>19200</Interval5>
  </TimephasedData>

The complete code is given below:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.ServiceModel;
using PSLibrary = Microsoft.Office.Project.Server.Library;

namespace Microsoft.SDK.Project.Samples.Resources
{
    class Resources
    {
        private static SvcResource.ResourceClient resourceClient;
        private const string RES_ENDPOINT = "basicHttp_Resource";
        private const string OUTPUT_FILES = @"C:\Projects\Samples\Output\";
        private static string outFilePathResourcesAvailabilityGrid;
        private static string outFilePathResourceAvailability;

        static void Main(string[] args)
        {
            Guid[] resourceID = new Guid[2];
            resourceID[0] = new Guid("2a4ba1a7-1d96-4086-8fa5-6dea243ed6b5");
            resourceID[1] = new Guid("f6c846fa-b21b-49eb-9921-fe6bdec60242");
            DateTime startDate = new DateTime(2010, 1, 10);
            DateTime finishDate = new DateTime(2010, 6, 6);

            // Configure the end points.
            ConfigClientEndpoints(RES_ENDPOINT);
            
            // If directory does not exist,create it.
            if (!Directory.Exists(OUTPUT_FILES))
            {
                Directory.CreateDirectory(OUTPUT_FILES);
            }

            // Assign the path where the output XML file will be saved.
            outFilePathResourcesAvailabilityGrid = OUTPUT_FILES + "ResourcesAvailabilityGrid.xml";
            outFilePathResourceAvailability = OUTPUT_FILES + "ResourceAvailability.xml";

            // Read the resource availability.
            System.Data.DataSet resourceGridDS = resourceClient.ReadResourceAvailabilityForGrid(
                resourceID, startDate, finishDate, (short)PSLibrary.Resource.TimeScale.Months, true);
           
            // Write the contents of the DataSet to an XML file.
            resourceGridDS.WriteXml(outFilePathResourcesAvailabilityGrid);

            Console.WriteLine("\nSee XML output of the DataSet at {0}",
                   outFilePathResourcesAvailabilityGrid);

            // Read the resource availability for grid.
            System.Data.DataSet resourceDS = resourceClient.ReadResourceAvailability(
                resourceID, startDate, finishDate, (short)PSLibrary.Resource.TimeScale.Months, true);

            // Write the DataSet contents to an XML file.
            resourceDS.WriteXml(outFilePathResourceAvailability);
            Console.WriteLine("\nSee XML output of Resource Dataset at {0}", 
                outFilePathResourceAvailability);
            Console.ReadKey();
        }
        // Configure the custom field client end points.
        public static void ConfigClientEndpoints(string endpt)
        {
            resourceClient = new SvcResource.ResourceClient(endpt);
        }
    }
}

See Also

Reference

Resource Class

Resource Members

Resource Web Service