EnterpriseResourceCollection-Klasse

Stellt eine Auflistung von EnterpriseResource -Objekten dar.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Client.ClientObject
    Microsoft.SharePoint.Client.ClientObjectCollection
      Microsoft.SharePoint.Client.ClientObjectCollection<EnterpriseResource>
        Microsoft.ProjectServer.Client.EnterpriseResourceCollection

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

Syntax

'Declaration
<ScriptTypeAttribute("PS.EnterpriseResourceCollection", ServerTypeId := "{4906f478-38f2-405a-aeb9-3533866f500d}")> _
Public Class EnterpriseResourceCollection _
    Inherits ClientObjectCollection(Of EnterpriseResource)
'Usage
Dim instance As EnterpriseResourceCollection
[ScriptTypeAttribute("PS.EnterpriseResourceCollection", ServerTypeId = "{4906f478-38f2-405a-aeb9-3533866f500d}")]
public class EnterpriseResourceCollection : ClientObjectCollection<EnterpriseResource>

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 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

EnterpriseResourceCollection-Member

Microsoft.ProjectServer.Client-Namespace

EnterpriseResource

EnterpriseResourceCreationInformation

EnterpriseResources