Mostrando entradas con la etiqueta crmservice. Mostrar todas las entradas
Mostrando entradas con la etiqueta crmservice. Mostrar todas las entradas

lunes, 22 de octubre de 2007

Get User Role For CRM from .Net App.

//Para obtener el Guid Id del usuario que ejecuta el WS.
WhoAmIRequest userRequest = new WhoAmIRequest();
WhoAmIResponse userResp = (WhoAmIResponse)
oCrmService.Execute(userRequest);
userResp.UserId; string
UserRole=GetRole(userResp.UserId;)

private String GetRole(Guid UserID) {
//Guid userid = new Guid(UserID);
CrmService oCrmService = new CrmService();
oCrmService.Credentials = System.Net.CredentialCache.DefaultCredentials;
QueryExpression qe = new QueryExpression();
qe.EntityName = "role";
qe.ColumnSet = new AllColumns();
LinkEntity le = new LinkEntity();
le.LinkFromEntityName = "role";
le.LinkFromAttributeName = "roleid";
le.LinkToEntityName = "systemuserroles";
le.LinkToAttributeName = "roleid";
LinkEntity le2 = new LinkEntity();
le2.LinkFromEntityName = "systemuserroles";
le2.LinkFromAttributeName = "systemuserid";
le2.LinkToEntityName = "systemuser";
le2.LinkToAttributeName = "systemuserid";
ConditionExpression ce = new ConditionExpression();
ce.AttributeName = "systemuserid";
ce.Operator = ConditionOperator.Equal;
ce.Values = new object[]{UserID};
le2.LinkCriteria = new FilterExpression();
le2.LinkCriteria.Conditions = new ConditionExpression[]{ce};
le.LinkEntities = new LinkEntity[]{le2};
qe.LinkEntities = new LinkEntity[]{le};
BusinessEntityCollection bec = oCrmService.RetrieveMultiple(qe);
if (bec.BusinessEntities.Length > 0)
{
return ((role)bec.BusinessEntities[0]).name.ToString();
}
else throw new Exception("User not found");
// return "";
}