Tuesday, 16 February 2016

get user role in crm dyanamics by it's Id

Using QueryExpression

 QueryExpression qr = new QueryExpression()
                    {
                        EntityName = "role",
                        ColumnSet = new ColumnSet("name"),
                        LinkEntities =
                        {
                            new LinkEntity("role","systemuserroles","roleid","roleid",JoinOperator.Inner)
                            {
                                LinkEntities=
                                {
                                     new LinkEntity("systemuserroles","systemuser","systemuserid","systemuserid",JoinOperator.Inner)
                            {
                                LinkCriteria=
                                {
                                    Conditions=
                                    {
                                        new ConditionExpression("systemuserid",ConditionOperator.Equal,"{A7A9414B-D937-47DE-AD31-53D3D603A1DD}")
                                    }
                                }
                            }
                                }
                            }

                        }
                    };
                    EntityCollection collRoles = _orgService.RetrieveMultiple(qr);

                    if (collRoles != null && collRoles.Entities.Count > 0)
                    {

                        foreach (Entity _entity in collRoles.Entities)
                        {

                            if (_entity.Attributes["name"].ToString().ToLower() == "supervisor")
                            {

                            }

                        }

                    }

Using FetchExpression
string fetchxml = "<fetch version=\"1.0\" output-format=\"xml-platform\" mapping=\"logical\" distinct=\"true\">\r\n  <entity name=\"role\">\r\n    <attribute name=\"name\" />\r\n    <attribute name=\"businessunitid\" />\r\n    <attribute name=\"roleid\" />\r\n    <order attribute=\"name\" descending=\"false\" />\r\n    <link-entity name=\"systemuserroles\" from=\"roleid\" to=\"roleid\" visible=\"false\" intersect=\"true\">\r\n      <link-entity name=\"systemuser\" from=\"systemuserid\" to=\"systemuserid\" alias=\"ab\">\r\n        <filter type=\"and\">\r\n          <condition attribute=\"systemuserid\" operator=\"eq\" value=\"{A7A9414B-D937-47DE-AD31-53D3D603A1DD}\" />\r\n        </filter>\r\n      </link-entity>\r\n    </link-entity>\r\n  </entity>\r\n</fetch>";
                    var data = _orgService.Execute(new RetrieveMultipleRequest() { Query = new FetchExpression(fetchxml) });

No comments:

Post a Comment