Compartilhar via


Resource.UpdateResources método

Atualiza, exclui ou cria um ou mais recursos.

Namespace:  WebSvcResource
Assembly:  ProjectServerServices (em ProjectServerServices.dll)

Sintaxe

'Declaração
<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
'Uso
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
)

Parâmetros

  • validateOnly
    Tipo: System.Boolean

    Se true, somente valida os dados e não cria novos recursos.

  • autoCheckIn
    Tipo: System.Boolean

    Se true, verifica automaticamente nos dados de recurso.

Valor retornado

Tipo: WebSvcResource.ResourceDataSet
O retornado ResourceDataSet contém as alterações feitas.

Comentários

UpdateResources exclui um recurso, se o parâmetro ResourceDataSet não contém informações para um recurso existente, cria um recurso, se o recurso não existir no pool de recursos da empresa ou atualiza recursos existentes com novos dados.

Cada recurso a ser modificado ou excluído precisa fazer check-out para o usuário autenticado atual antes de chamar UpdateResources.

Permissões do Project Server

Permissão

Descrição

ManageUsersAndGroups

Permite que um usuário gerencie todos os usuários corporativos, recursos e grupos. Permissão global.

NewResource

Permite que um usuário crie um novo recurso. Permissão global.

ManageActiveDirectorySettings

Permite que um usuário gerencie as informações do usuário. Permissão global.

EditEnterpriseResourceData

Permite que um usuário editar ou excluir esse recurso. Permissão de categoria.

Exemplos

O exemplo a seguir obtém uma lista de todos os recursos da empresa existente, faz check-out primeiro recurso, atualiza o nome do recurso e, em seguida, salva a alteração para o servidor e verifica no recurso.

Please see Prerequisites for Reference Code Samples 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);
         }
      }
   }
}

Ver também

Referência

Resource classe

Resource membros

WebSvcResource namespace