Acceleratio.SPDG.Generator.Server.ServerRoleAssignmentHelper.GetRoleAssignmentByPrincipal C# (CSharp) Метод

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

public static GetRoleAssignmentByPrincipal ( SPSecurableObject securableObject, SPDGPrincipal principal ) : SPDGRoleAssignment
securableObject SPSecurableObject
principal Acceleratio.SPDG.Generator.SPModel.SPDGPrincipal
Результат Acceleratio.SPDG.Generator.SPModel.SPDGRoleAssignment
        public static SPDGRoleAssignment GetRoleAssignmentByPrincipal(SPSecurableObject securableObject, SPDGPrincipal principal)
        {
            SPPrincipal spPrincipal;
            if (principal is SPDGServerUser)
            {
                spPrincipal = ((SPDGServerUser)principal).SPUser;
            }
            else
            {
                spPrincipal = ((SPDGServerGroup)principal).Group;
            }
            try
            {
                var spRoleAss = securableObject.RoleAssignments.GetAssignmentByPrincipal(spPrincipal);
                return new SPDGServerRoleAssignment(spRoleAss, principal, spRoleAss.RoleDefinitionBindings.Cast<SPRoleDefinition>().Select(x => (SPDGRoleDefinition)new SPDGServerRoleDefinition(x)));
            }
            catch (Exception)
            {
                //ugly but will do
                return null;
            }
        }