BizUser.SetParent Method

The SetParent method sets a new parent user for the specified user. If KeepChildUsers is set to false, all direct reports of the user are updated to report to the user's original manager.

Syntax

[Visual Basic .NET]
Public Sub SetParent(
  ByVal Caller As CUserAuth,
  ByVal UserId As String,
  ByVal ParentId As String,
  ByVal KeepChildUsers As Integer
)
[C#]
public void SetParent(
  CUserAuth  Caller,
  string  UserId,
  string  ParentId,
  int  KeepChildUsers
);
[C++]
public: void SetParent(
  CUserAuth*  Caller,
  String*  UserId,
  String*  ParentId,
  long  KeepChildUsers
);

Parameters

Caller

Specifies the identity of the caller. To perform this action, the caller must have the prvReparentUser privilege and access rights on the object to be modified. See CUserAuth.

UserId

Specifies the ID of the user. This ID is specified by the platform and obtained at creation time.

ParentId

Specifies the ID of the new parent user. This ID is specified by the platform and obtained at creation time.

KeepChildUsers

Specifies whether the child users are to be retained. If this flag is true, the child users will still report to this user. If it is false, the child users will be updated to report to the users' original manager.

Return Value

No return value.

Remarks

The user must be in the business unit hierarchy of the new parent user.

If there is an error, SOAP throws an exception and the error message is reported in System.Web.Services.Protocols.SoapException.Detail.OuterXml.

All IDs passed to the platform are GUIDs wrapped in braces. For example: {6522D89A-A752-4455-A2B0-51494C6957C3}

Example

[C#]
// strServer should be set with the name of the platform Web server
string strServer = "myservername";

// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "http://" + strServer + "/" + virtualDirectory + "/";

// BizUser proxy object
Microsoft.Crm.Platform.Proxy.BizUser bizUser = new Microsoft.Crm.Platform.Proxy.BizUser ();
bizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
bizUser.Url = strDir + "BizUser.srf";

string strErrorMsg;
string strUserId = "{ECF99EF1-3858-4E06-ABD9-EBFE526BF9FF}";
string strParentUserID = "{F9920C07-EE2A-4616-A7EC-1E9D280CF535}";
try
{
   Microsoft.Crm.Platform.Proxy.CUserAuth userAuth = bizUser.WhoAmI();

   // Set the parent
   bizUser.SetParent(userAuth, strUserID, strParentUserID, 1);
}
catch (System.Web.Services.Protocols.SoapException err)
{
   // Process the platform error here
   strErrorMsg = ("ErrorMessage: " + err.Message + " " + err.Detail.OuterXml + " Source: " + err.Source );
}
catch (Exception err)
{
   // Process other errors here
   strErrorMsg = ("ErrorMessage: " + err.Message );
}

Requirements

Namespace: Microsoft.Crm.Platform.Proxy

Assembly: Microsoft.Crm.Platform.Proxy.dll

See Also

© 2005 Microsoft Corporation. All rights reserved.