Example #1
0
        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);
        }