Resource.ReadResourceAvailability 方法
會傳回時段式資料結構的資源可用性資料集。
命名空間: WebSvcResource
組件: ProjectServerServices (在 ProjectServerServices.dll 中)
語法
'宣告
<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
'用途
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
)
參數
resUIDs
類型:[]資源 Guid 的陣列。
startDate
類型:System.DateTime期間的開頭。
endDate
類型:System.DateTime結尾的句號。
timeScale
類型:System.Int16所需的TimephasedData資料表, TimeScaleClass.TimeScale列舉中的刻度。
includeProposedBookings
類型:System.Boolean包含只暫訂排程資源的工作分派。
傳回值
類型:System.Data.DataSet
表格的日期和資料表後的之時段式資料的資料集。
備註
Project Server 權限
權限 |
描述 |
---|---|
可讓使用者檢視資源分派資料。通用權限。 |
範例
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.
ReadResourceAvailability方法會傳回的資料集resourceDS。資料集的內容會寫入到ResourceAvailability.xml。從實際輸出TimephasedData結構的範例如下所示:
注意事項 |
---|
ReadResourceAvailabilityForGrid方法是ReadResourceAvailability方法,類似,但是 ReadResourceAvailabilityForGrid 方法不會傳回資源 GUID 或DataSet中的專案 GUID。ReadResourceAvailabilityForGrid用於只能在Project Web App JS 方格中顯示資料 |
<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>
完整的程式碼如下所示:
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);
}
}
}