Share via


AddPrivilegesRoleRequest Class

Definition

Contains the data that is needed to add a set of existing privileges to an existing role.

public ref class AddPrivilegesRoleRequest sealed : Microsoft::Xrm::Sdk::OrganizationRequest
[System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")]
public sealed class AddPrivilegesRoleRequest : Microsoft.Xrm.Sdk.OrganizationRequest
[<System.Runtime.Serialization.DataContract(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")>]
type AddPrivilegesRoleRequest = class
    inherit OrganizationRequest
Public NotInheritable Class AddPrivilegesRoleRequest
Inherits OrganizationRequest
Inheritance
AddPrivilegesRoleRequest
Attributes

Examples

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationServiceinterface.

/// <summary>
/// Demonstrates how to add privileges to a role
/// </summary>
/// <param name="service">The authenticated IOrganizationService instance</param>
static void AddPrivilegesRoleExample(IOrganizationService service)
{

      // The ID of the role without the privileges
      Guid RoleId = new("<Add roleid here>");

      // The privileges to add to the role
      string[] privileges = { "prvReadAccount","prvWriteAccount"};

      // Retrieve the privileges
      var query = new QueryExpression
      {
         EntityName = "privilege",
         ColumnSet = new ColumnSet("privilegeid", "name")
      };
      query.Criteria.AddCondition("name", ConditionOperator.In, privileges);

      DataCollection<Entity> privilegeRecords =
         service.RetrieveMultiple(query).Entities;

      // Define a list to hold the RolePrivileges we'll need to add
      List<RolePrivilege> rolePrivileges = new();

      //Populate the RolePrivileges parameter
      foreach (Entity privilege in privilegeRecords)
      {
         RolePrivilege rolePrivilege = new(
            (int)PrivilegeDepth.Local, //Local depth
            privilege.GetAttributeValue<Guid>("privilegeid"));

         rolePrivileges.Add(rolePrivilege);
      }


      // Prepart the request
      AddPrivilegesRoleRequest request = new()
      {
         Privileges = rolePrivileges.ToArray(),
         RoleId = RoleId
      };
      // Send the request
      service.Execute(request);
}

Remarks

For the Web API use the AddPrivilegesRole action.

Usage

Pass an instance of this class to the Execute(OrganizationRequest) method, which returns an instance of the AddPrivilegesRoleResponse class.

Privileges and Access Rights

To perform this action, the caller must have privileges on the Role table and access rights on the specified record in the RoleId property.

Constructors

AddPrivilegesRoleRequest()

Initializes a new instance of the AddPrivilegesRoleRequest class.

Properties

ExtensionData

Gets or sets the structure that contains extra data. Optional.

(Inherited from OrganizationRequest)
Item[String]

Gets or sets the indexer for the Parameters collection.

(Inherited from OrganizationRequest)
Parameters

Gets or sets the collection of parameters for the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
Privileges

Gets or sets the IDs and depths of the privileges you want to add. Required.

RequestId

Gets or sets the ID of the request. Optional.

(Inherited from OrganizationRequest)
RequestName

Gets or sets the name of the request. Required, but is supplied by derived classes.

(Inherited from OrganizationRequest)
RoleId

Gets or sets the ID of the role for which you want to add the privileges. Required.

Applies to

See also