public SPPermissions Get(SPList list, SPListItem listItem, int memberId) { var permissions = new SPPermissions(); Validate(permissions.Errors, list, listItem); if (!permissions.Errors.Any()) { var permissionsGetOptions = new PermissionsGetOptions(list.Id, listItem.ContentId) { Url = list.SPWebUrl }; try { permissions = ClientApi.Permissions.Get(memberId, permissionsGetOptions); } catch (SPInternalException ex) { permissions.Errors.Add(new Error(ex.GetType().ToString(), plugin.Translate(SharePointPermissionsExtension.Translations.ListItemNotFound))); } catch (Exception ex) { string message = string.Format("An exception of type {0} occurred in the WidgetApi.V1.SharePointPermissions.Get() method for ContentId: {1} ListId: {2}. The exception message is: {3}", ex.GetType(), listItem.ContentId, list.Id, ex.Message); SPLog.UnKnownError(ex, message); permissions.Errors.Add(new Error(ex.GetType().ToString(), plugin.Translate(SharePointPermissionsExtension.Translations.UnknownError))); } } return(permissions); }
public static SPPermissions ToPermission(this RoleAssignment ra) { var permission = new SPPermissions(ra.Member); foreach (var rd in ra.RoleDefinitionBindings) { permission.Level.Add(rd.ToPermissionLevel()); } return(permission); }