Jacy użytkownicy mają przypisaną rolę “Test” ? - Kawałek kodu dla CRM

Dzisiaj postanowiłem zamieścić prosty kawałek kodu, który pobiera użytkowników, którzy w CRM mają przypisaną wskazaną rolę, nazwijmy ją Test. Kawałek kodu metody, która dokonuje takowej eksploracji wygląda następująco:

private systemuser GetSystemUserInRole(string rolename, CrmService serv)
        {

            QueryExpression qe = new QueryExpression();
            qe.EntityName = EntityName.systemuser.ToString();
            qe.ColumnSet = new AllColumns();

            LinkEntity le = new LinkEntity();
            le.LinkFromEntityName = "systemuser";
            le.LinkFromAttributeName = "systemuserid";
            le.LinkToEntityName = "systemuserroles";
            le.LinkToAttributeName = "systemuserid";

            ConditionExpression ce = new ConditionExpression();
            ce.AttributeName = "name";
            ce.Operator = ConditionOperator.Equal;
            ce.Values = new object[] { rolename };

            LinkEntity le2 = new LinkEntity();
            le2.LinkFromEntityName = "systemuserroles";
            le2.LinkFromAttributeName = "roleid";
            le2.LinkToEntityName = EntityName.role.ToString();
            le2.LinkToAttributeName = "roleid";

            le2.LinkCriteria = new FilterExpression();
            le2.LinkCriteria.Conditions = new ConditionExpression[] { ce };

            le.LinkEntities = new LinkEntity[] { le2 };
            qe.LinkEntities = new LinkEntity[] { le };

W wyniku pobrania obiektów spełniających kryteria zapytania dostaniemy kolekcję obiektów typu systemuser, z którą wiemy już co zrobić :)