Поделиться через


Метод 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
)

Параметры

  • validateOnly
    Тип: System.Boolean

    Если trueпроверяет данные, а не создавать новые ресурсы.

  • autoCheckIn
    Тип: System.Boolean

    Если trueавтоматически проверки данных ресурсов.

Возвращаемое значение

Тип: WebSvcResource.ResourceDataSet
Возвращенный ResourceDataSet содержит изменения, внесенные.

Замечания

UpdateResources удаляет ресурс, если параметр ResourceDataSet не содержит сведений для существующего ресурса, создает ресурс, если ресурс не существует в корпоративный пул ресурсов или обновляет существующие ресурсы с новыми данными.

Каждый ресурс, который должен быть изменен или удален должен быть извлечен текущего прошедшего проверку подлинности пользователя до вызова метода UpdateResources.

Разрешения Project Server

Разрешение

Описание

ManageUsersAndGroups

Позволяет пользователю управлять всех корпоративных пользователей, ресурсов и групп. Глобальное разрешение.

NewResource

Позволяет пользователю создать новый ресурс. Глобальное разрешение.

ManageActiveDirectorySettings

Позволяет пользователю управлять сведений о пользователе. Глобальное разрешение.

EditEnterpriseResourceData

Позволяет пользователю изменить или удалить этот ресурс. Разрешение категории.

Примеры

В следующем примере возвращается список всех существующих корпоративных ресурсов, извлекает первый ресурсов, обновляет имя ресурса и затем сохраняет изменение на сервер и проверяет в ресурсе.

Please see Необходимые условия для образцов кода на основе ASMX в Project 2013 for critical information on running this code sample.

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);
         }
      }
   }
}

См. также

Справочные материалы

Resource класс

Элементы Resource

Пространство имен WebSvcResource