Acceleratio.SPDG.Generator.Client.ClientRoleAssignmentHelper.GetRoleAssignmentByPrincipal C# (CSharp) Метод

GetRoleAssignmentByPrincipal() публичный статический Метод

public static GetRoleAssignmentByPrincipal ( SecurableObject securableObject, ClientContext context, SPDGPrincipal principal ) : SPDGRoleAssignment
securableObject SecurableObject
context ClientContext
principal Acceleratio.SPDG.Generator.SPModel.SPDGPrincipal
Результат Acceleratio.SPDG.Generator.SPModel.SPDGRoleAssignment
        public static SPDGRoleAssignment GetRoleAssignmentByPrincipal(SecurableObject securableObject, ClientContext context, SPDGPrincipal principal)
        {
            var principalId = principal.ID;
            var roleAss = securableObject.RoleAssignments.Where(x => x.PrincipalId == principalId).Include(x => x.RoleDefinitionBindings, x => x.Member, x => x.PrincipalId);
            var results = context.LoadQuery(roleAss);
            context.ExecuteQuery();
            if (results.Any())
            {
                return new SPDGClientRoleAssignment(results.First(), principal, results.First().RoleDefinitionBindings.Select(x => new SPDGClientRoleDefinition(x)));
            }
            else
            {
                return null;
            }
        }