del método Resource.UpdateResources
Actualiza, elimina o crea uno o varios recursos.
Espacio de nombres: WebSvcResource
Ensamblado: ProjectServerServices (en ProjectServerServices.dll)
Sintaxis
'Declaración
<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.ResourceDataSetResourceDataSet que contiene los datos de recursos actualizado.
validateOnly
Tipo: System.BooleanSi true, solo valida los datos y no crea los nuevos recursos.
autoCheckIn
Tipo: System.BooleanSi true, se comprueba automáticamente en los datos de recursos.
Valor devuelto
Tipo: WebSvcResource.ResourceDataSet
El devuelto ResourceDataSet contiene los cambios realizados.
Comentarios
UpdateResources elimina un recurso si el parámetro ResourceDataSet no contiene información para un recurso existente, se crea un recurso si el recurso no existe en el grupo de recursos de empresa o actualiza los recursos existentes con los nuevos datos.
Cada recurso que se va a modificar o eliminar debe desprotegerse para el usuario autenticado actual antes de llamar a UpdateResources.
Permisos de Project Server
Permiso |
Descripción |
---|---|
Permite que un usuario administrar todos los usuarios de empresa, recursos y grupos. Permiso global. |
|
Permite a un usuario crear un nuevo recurso. Permiso global. |
|
Permite que un usuario administrar información de usuario. Permiso global. |
|
Permite que un usuario editar o eliminar este recurso. Permiso de categoría. |
Ejemplos
El ejemplo siguiente obtiene una lista de todos los recursos de empresa existente, desprotege el primer recurso, actualiza el nombre del recurso y, a continuación, guarda los cambios en el servidor y comprueba en el 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);
}
}
}
}