Resource.UpdateResources メソッド
名前空間: WebSvcResource
アセンブリ: ProjectServerServices (ProjectServerServices.dll 内)
構文
'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Resource/UpdateResources", 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 UpdateResources ( _
rds As ResourceDataSet, _
validateOnly As Boolean, _
autoCheckIn As Boolean _
) As ResourceDataSet
'使用
Dim instance As Resource
Dim rds As ResourceDataSet
Dim validateOnly As Boolean
Dim autoCheckIn As Boolean
Dim returnValue As ResourceDataSet
returnValue = instance.UpdateResources(rds, _
validateOnly, autoCheckIn)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Resource/UpdateResources", 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 ResourceDataSet UpdateResources(
ResourceDataSet rds,
bool validateOnly,
bool autoCheckIn
)
パラメーター
rds
型: WebSvcResource.ResourceDataSetResourceDataSet更新済みのリソース データを格納します。
validateOnly
型: System.Boolean場合は、 trueとだけ、データ検証は、新しいリソースは作成されません。
autoCheckIn
型: System.Booleantrue、リソース データを自動的にチェックする場合。
戻り値
型: WebSvcResource.ResourceDataSet
返される、 ResourceDataSetに加えられた変更が含まれます。
注釈
UpdateResourcesは、 ResourceDataSetパラメーターが既存のリソースに関する情報が含まれていない、リソース、エンタープライズ リソース共有元に存在しません、または新しいデータを既存のリソースを更新する場合は、リソースを作成する場合、リソースを削除します。
チェック アウト現在の認証済みユーザーにUpdateResourcesを呼び出す前に、各リソースを変更または削除する必要があります。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
すべてのエンタープライズ ユーザー、リソース、およびグループを管理することができます。グローバル アクセス権。 |
|
新しいリソースを作成することができます。グローバル アクセス権。 |
|
ユーザー情報を管理することができます。グローバル アクセス権。 |
|
編集またはこのリソースを削除することができます。カテゴリのアクセス権。 |
例
次の使用例は、既存のすべてのエンタープライズ リソースのリストを取得、チェック アウト最初のリソース、リソースの名前を更新、変更をサーバーに保存し、リソースをチェックインします。
このサンプル コードを実行するのProject 2013 での ASMX ベースのコード サンプルの前提条件の重要な情報を参照してください。
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Windows.Forms;
using System.Web.Services.Protocols;
using PSLibrary = Microsoft.Office.Project.Server.Library;
namespace Microsoft.Office.Project.Samples.UpdateResources
{
class Program
{
static void Main(string[] args)
{
const string PROJECT_SERVER_URI = "https://ServerName/ProjectServerName/";
const string RESOURCE_SERVICE_PATH = "_vti_bin/psi/resource.asmx";
try
{
// Set up the resource object and dataset
SvcResource.Resource resourceSvc = new SvcResource.Resource();
SvcResource.ResourceDataSet resourceDs = new SvcResource.ResourceDataSet();
resourceSvc.Url = PROJECT_SERVER_URI + RESOURCE_SERVICE_PATH;
resourceSvc.Credentials = CredentialCache.DefaultCredentials;
// Read read all the resources
resourceDs = resourceSvc.ReadResources(string.Empty, false);
// Check out the first resource for updating.
// - This assumes the resource is checked in.
// - An error occurs if the resource is already checked out.
resourceSvc.CheckOutResources(new Guid[] { resourceDs.Resources[0].RES_UID });
// Update the resource name of the first row.
Console.WriteLine ("Modifying resource " + resourceDs.Resources[0].RES_ID + " (" + resourceDs.Resources[0].RES_NAME + ")");
resourceDs.Resources[0].RES_NAME += " Modified at: " + DateTime.Now.ToShortTimeString();
// Send the update to the server and automatically check in the changed row
resourceSvc.UpdateResources(resourceDs, false, true);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
string errMess = "";
PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
for (int j = 0; j < errors.Length; j++)
errMess = errMess + errors[j].ErrId.ToString() + "\n";
errMess = errMess + "\n" + ex.Message.ToString();
MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
catch (WebException ex)
{
string message = ex.Message.ToString() +
"\n\nLog on, or check the Project Server Queuing Service";
MessageBox.Show(message, "Project Creation Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
}