Freigeben über


EnterpriseResource-Klasse

Stellt eine Ressource, die in einem Projekt von Project Server verwaltet wird.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Client.ClientObject
    Microsoft.ProjectServer.Client.EnterpriseResource

Namespace:  Microsoft.ProjectServer.Client
Assembly:  Microsoft.ProjectServer.Client (in Microsoft.ProjectServer.Client.dll)

Syntax

'Declaration
<ScriptTypeAttribute("PS.EnterpriseResource", ServerTypeId := "{f6167b82-e04e-4ce2-8631-09ce14f6277e}")> _
Public Class EnterpriseResource _
    Inherits ClientObject
'Usage
Dim instance As EnterpriseResource
[ScriptTypeAttribute("PS.EnterpriseResource", ServerTypeId = "{f6167b82-e04e-4ce2-8631-09ce14f6277e}")]
public class EnterpriseResource : ClientObject

Hinweise

Sie können ein Objekt EnterpriseResource zur Bearbeitung mithilfe der GetByGuid, GetByIdoder GetByUser -Methode für das EnterpriseResourceCollection -Objekt abrufen. Wenn Sie eine Änderung der bearbeitbaren Eigenschaften führen, und speichern Sie die Änderung Project Server checkt automatisch die Ressource ermöglicht die Änderung und dann Prüfungen, die die Ressource wieder. Dies ist der Vorgang des Enterprise-Ressource in Project Professional 2013öffnen, bearbeiten, und klicken Sie dann speichern und schließen die Enterprise-Ressource vergleichbar.

Beispiele

Im folgende Beispiel verwendet die EnterpriseResourceCollection.GetByGuid -Methode zum Abrufen eines EnterpriseResource -Objekts zur Bearbeitung. Das Beispiel schaltet die CanLevel -Eigenschaft von True auf False.

Wenn die Ressource bereits ausgecheckt ist, löst das Beispiel eine PJClientCallableException, wie etwa CICOAlreadyCheckedOutToYou. Sie können Try –Catch -Anweisungen, die Ausnahme behandeln verwenden oder die IsCheckedOut -Eigenschaft verwenden, um festzustellen, ob eine Bearbeitung durchgeführt werden kann.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ProjectServer.Client;

namespace EditEntResource
{
    class Program
    {
        private const string pwaPath = "https://ServerName/pwa/";    // Change the path for your Project Web App.
        
        // Set the Project Server client context.
        private static ProjectContext projContext;

        static void Main(string[] args)
        {
            projContext = new ProjectContext(pwaPath); 

            Guid entResUid = new Guid("9f164f32-d985-e211-93f8-0021704e28a0");

            // Get the list of enterprise resources in Project Web App.
            projContext.Load(projContext.EnterpriseResources);
            projContext.ExecuteQuery();

            int numResInCollection = projContext.EnterpriseResources.Count();

            if (numResInCollection > 0)
            {
                projContext.Load(projContext.EnterpriseResources.GetByGuid(entResUid));
                projContext.ExecuteQuery();

                var entRes2Edit = projContext.EnterpriseResources.GetByGuid(entResUid);

                Console.WriteLine("\nEditing resource : GUID : Can Level");
                Console.WriteLine("\n{0} : {1} : {2}", entRes2Edit.Name, entRes2Edit.Id.ToString(),
                    entRes2Edit.CanLevel.ToString());

                // Toggle the CanLevel property.
                entRes2Edit.CanLevel = !entRes2Edit.CanLevel;

                // The entRes2Edit object is in the EnterpriseResources collection.
                projContext.EnterpriseResources.Update();
                
                // Save the change.
                projContext.ExecuteQuery();

                // Check that the change was made.
                projContext.Load(projContext.EnterpriseResources.GetByGuid(entResUid));
                projContext.ExecuteQuery();

                entRes2Edit = projContext.EnterpriseResources.GetByGuid(entResUid);

                Console.WriteLine("\n\nChanged resource : GUID : Can Level");
                Console.WriteLine("\n{0} : {1} : {2}", entRes2Edit.Name, entRes2Edit.Id.ToString(),
                    entRes2Edit.CanLevel.ToString());
            }

            Console.Write("\nPress any key to exit: ");
            Console.ReadKey(false);
        }
    }
}

Nachfolgend sehen Sie die Ausgabe:

Editing resource : GUID : Can Level
TestUser Name : 9f164f32-d985-e211-93f8-0021704e28a0 : True

Changed resource : GUID : Can Level
TestUser Name : 9f164f32-d985-e211-93f8-0021704e28a0 : False
Press any key to exit:

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

EnterpriseResource-Member

Microsoft.ProjectServer.Client-Namespace