Microsoft.Protocols.TestSuites.MS_OXCPERM.MS_OXCPERMAdapter.AddPermission C# (CSharp) Method

AddPermission() public method

Add a permission for a user to the permission list of the folder
public AddPermission ( FolderTypeEnum folderType, string permissionUserName, RequestBufferFlags requestBufferFlags, List permissionList ) : uint
folderType FolderTypeEnum Folder type
permissionUserName string The user whose permission is added. The user name is the alias of the user without domain
requestBufferFlags RequestBufferFlags Request buffer flags
permissionList List The permission list of the folder specified by folderType
return uint
        public uint AddPermission(FolderTypeEnum folderType, string permissionUserName, RequestBufferFlags requestBufferFlags, List<PermissionTypeEnum> permissionList)
        {
            if (permissionUserName == null)
            {
                throw new ArgumentNullException("permissionUserName");
            }

            uint folderHandle = this.GetFolderObjectHandle(folderType);
            uint pidTagMemberRights = this.ParsePermissionFromPermissionTypeListToByteFormat(permissionList);

            PermissionData[] permissionsDataArray = this.SetPermissionDataArrayForAdd(permissionUserName, pidTagMemberRights);

            this.responseSOHs = this.DoRopCall(
                this.CreateModifyPermissionsRequestBuffer(permissionsDataArray, requestBufferFlags),
                folderHandle,
                ref this.response,
                ref this.rawData);
            RopModifyPermissionsResponse modifyPermissionsResponse = (RopModifyPermissionsResponse)this.response;
            this.VerifyModifyPermissionsResponse();
            uint responseValue = modifyPermissionsResponse.ReturnValue;

            this.VerifyReturnValueForModifyPermission();

            if (responseValue == UINT32SUCCESS)
            {
                this.VerifyReturnValueSuccessForModifyPermission(responseValue);
            }

            // RopRelease folder handle 
            this.ReleaseObject(folderHandle);

            return responseValue;
        }
MS_OXCPERMAdapter