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
rds
Tipo: WebSvcResource.ResourceDataSetUm ResourceDataSet que contém os dados de recursos atualizada.
validateOnly
Tipo: System.BooleanSe true, somente valida os dados e não cria novos recursos.
autoCheckIn
Tipo: System.BooleanSe 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 |
---|---|
Permite que um usuário gerencie todos os usuários corporativos, recursos e grupos. Permissão global. |
|
Permite que um usuário crie um novo recurso. Permissão global. |
|
Permite que um usuário gerencie as informações do usuário. Permissão global. |
|
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);
}
}
}
}