CRMQuote.RetrieveSharedPrincipalsAndAccess Method
The RetrieveSharedPrincipalsAndAccess method retrieves all of the security principals (users or teams) that have access to a quote and their access rights to that quote.
Syntax
[Visual Basic .NET]
Public Function RetrieveSharedPrincipalsAndAccess(
ByVal Caller As CUserAuth,
ByVal QuoteId As String,
ByRef Rights As UInt32()
) As CSecurityPrincipal()
[C#]
public CSecurityPrincipal[] RetrieveSharedPrincipalsAndAccess(
CUserAuth Caller,
string QuoteId,
out uint[] Rights
);
[C++]
public: CSecurityPrincipal* RetrieveSharedPrincipalsAndAccess(
CUserAuth* Caller,
String* QuoteId,
unsigned long* Rights
) __gc[];
Parameters
Caller
Specifies the identity of the caller. The caller must have the prvReadQuote privilege to perform this action. See CUserAuth.
QuoteId
Specifies the ID of the quote.
Rights
[out] Specifies an array of rights for the principals. See ACCESSRIGHTS.
Return Value
Returns a CSecurityPrincipal[] type that specifies the array of security principals requested . See CSecurityPrincipal.
Remarks
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#]
// strServerName should be set with the name of the platform Web server
string strServerName = "myservername";
// virtualDirectory should be set with the name of the Microsoft CRM
// virtual directory on the platform Web server
string virtualDirectory = "mscrmservices";
string strDir = "https://" + strServerName + "/" + virtualDirectory + "/";
// BizUser proxy object
Microsoft.CRM.Proxy.BizUser bizUser = new Microsoft.CRM.Proxy.BizUser ();
bizUser.Credentials = System.Net.CredentialCache.DefaultCredentials;
bizUser.Url = strDir + "BizUser.srf";
// CRMQuote proxy object
Microsoft.CRM.Proxy.CRMQuote quote = new Microsoft.CRM.Proxy.CRMQuote();
quote.Credentials = System.Net.CredentialCache.DefaultCredentials;
quote.Url = strDir + "CRMQuote.srf";
uint[] rights;
string strErrorMsg;
string strQuoteId="{21AE236A-2A82-4064-AEEC-DD6BAF90C29E}";
try
{
Microsoft.CRM.Proxy.CUserAuth userAuth = bizUser.WhoAmI();
// Initialize the security principals
Microsoft.CRM.Proxy.CSecurityPrincipal[] securityPrincipals;
// Retrieve shared principal access
securityPrincipals = quote.RetrieveSharedPrincipalsAndAccess (userAuth, strQuoteId, out rights);
}
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.Proxy
Assembly: microsoft.crm.proxy.dll
See Also