/// <summary>
        /// <para>Initializes a new instance of the <see cref="UpdateFolderMemberArg" />
        /// class.</para>
        /// </summary>
        /// <param name="sharedFolderId">The ID for the shared folder.</param>
        /// <param name="member">The member of the shared folder to update.  Only the <see
        /// cref="MemberSelector.DropboxId" /> may be set at this time.</param>
        /// <param name="accessLevel">The new access level for <paramref name="member" />. <see
        /// cref="AccessLevel.Owner" /> is disallowed.</param>
        public UpdateFolderMemberArg(string sharedFolderId,
                                     MemberSelector member,
                                     AccessLevel accessLevel)
        {
            if (sharedFolderId == null)
            {
                throw new sys.ArgumentNullException("sharedFolderId");
            }
            else if (!re.Regex.IsMatch(sharedFolderId, @"\A(?:[-_0-9a-zA-Z:]+)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("sharedFolderId");
            }

            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            if (accessLevel == null)
            {
                throw new sys.ArgumentNullException("accessLevel");
            }

            this.SharedFolderId = sharedFolderId;
            this.Member         = member;
            this.AccessLevel    = accessLevel;
        }
示例#2
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="ChangeFileMemberAccessArgs" />
        /// class.</para>
        /// </summary>
        /// <param name="file">File for which we are changing a member's access.</param>
        /// <param name="member">The member whose access we are changing.</param>
        /// <param name="accessLevel">The new access level for the member.</param>
        public ChangeFileMemberAccessArgs(string file,
                                          MemberSelector member,
                                          AccessLevel accessLevel)
        {
            if (file == null)
            {
                throw new sys.ArgumentNullException("file");
            }
            if (file.Length < 1)
            {
                throw new sys.ArgumentOutOfRangeException("file", "Length should be at least 1");
            }
            if (!re.Regex.IsMatch(file, @"\A(?:((/|id:).*|nspath:[0-9]+:.*)|ns:[0-9]+(/.*)?)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("file", @"Value should match pattern '\A(?:((/|id:).*|nspath:[0-9]+:.*)|ns:[0-9]+(/.*)?)\z'");
            }

            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            if (accessLevel == null)
            {
                throw new sys.ArgumentNullException("accessLevel");
            }

            this.File        = file;
            this.Member      = member;
            this.AccessLevel = accessLevel;
        }
示例#3
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="AddMember" /> class.</para>
        /// </summary>
        /// <param name="member">The member to add to the shared folder.</param>
        /// <param name="accessLevel">The access level to grant <paramref name="member" /> to
        /// the shared folder.  <see cref="Dropbox.Api.Sharing.AccessLevel.Owner" /> is
        /// disallowed.</param>
        public AddMember(MemberSelector member,
                         AccessLevel accessLevel = null)
        {
            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            if (accessLevel == null)
            {
                accessLevel = global::Dropbox.Api.Sharing.AccessLevel.Viewer.Instance;
            }
            this.Member      = member;
            this.AccessLevel = accessLevel;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="FileMemberActionResult" />
        /// class.</para>
        /// </summary>
        /// <param name="member">One of specified input members.</param>
        /// <param name="result">The outcome of the action on this member.</param>
        public FileMemberActionResult(MemberSelector member,
                                      FileMemberActionIndividualResult result)
        {
            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            if (result == null)
            {
                throw new sys.ArgumentNullException("result");
            }

            this.Member = member;
            this.Result = result;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="RemoveFolderMemberArg" />
        /// class.</para>
        /// </summary>
        /// <param name="sharedFolderId">The ID for the shared folder.</param>
        /// <param name="member">The member to remove from the folder.</param>
        /// <param name="leaveACopy">If true, the removed user will keep their copy of the
        /// folder after it's unshared, assuming it was mounted. Otherwise, it will be removed
        /// from their Dropbox. Also, this must be set to false when kicking a group.</param>
        public RemoveFolderMemberArg(string sharedFolderId,
                                     MemberSelector member,
                                     bool leaveACopy)
        {
            if (sharedFolderId == null)
            {
                throw new sys.ArgumentNullException("sharedFolderId");
            }
            if (!re.Regex.IsMatch(sharedFolderId, @"\A(?:[-_0-9a-zA-Z:]+)\z"))
            {
                throw new sys.ArgumentOutOfRangeException("sharedFolderId", @"Value should match pattern '\A(?:[-_0-9a-zA-Z:]+)\z'");
            }

            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            this.SharedFolderId = sharedFolderId;
            this.Member         = member;
            this.LeaveACopy     = leaveACopy;
        }
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="RemoveFolderMemberArg" />
        /// class.</para>
        /// </summary>
        /// <param name="sharedFolderId">The ID for the shared folder.</param>
        /// <param name="member">The member to remove from the folder. Only the <see
        /// cref="MemberSelector.DropboxId" /> may be set at this time.</param>
        /// <param name="leaveACopy">If true, the removed user will keep their copy of the
        /// folder after it's unshared, assuming it was mounted. Otherwise, it will be removed
        /// from their Dropbox. Also, this must be set to false when kicking a group.</param>
        public RemoveFolderMemberArg(string sharedFolderId,
                                     MemberSelector member,
                                     bool leaveACopy)
        {
            if (sharedFolderId == null)
            {
                throw new sys.ArgumentNullException("sharedFolderId");
            }
            else if (!re.Regex.IsMatch(sharedFolderId, @"[-_0-9a-zA-Z]+"))
            {
                throw new sys.ArgumentOutOfRangeException("sharedFolderId");
            }

            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            this.SharedFolderId = sharedFolderId;
            this.Member         = member;
            this.LeaveACopy     = leaveACopy;
        }
示例#7
0
        /// <summary>
        /// <para>Initializes a new instance of the <see cref="RemoveFileMemberArg" />
        /// class.</para>
        /// </summary>
        /// <param name="file">File from which to remove members.</param>
        /// <param name="member">Member to remove from this file. Note that even if an email is
        /// specified, it may result in the removal of a user (not an invitee) if the user's
        /// main account corresponds to that email address.</param>
        public RemoveFileMemberArg(string file,
                                   MemberSelector member)
        {
            if (file == null)
            {
                throw new sys.ArgumentNullException("file");
            }
            if (file.Length < 1)
            {
                throw new sys.ArgumentOutOfRangeException("file", "Length should be at least 1");
            }
            if (!re.Regex.IsMatch(file, @"\A(?:((/|id:).*|nspath:[^:]*:[^:]*))\z"))
            {
                throw new sys.ArgumentOutOfRangeException("file", @"Value should match pattern '\A(?:((/|id:).*|nspath:[^:]*:[^:]*))\z'");
            }

            if (member == null)
            {
                throw new sys.ArgumentNullException("member");
            }

            this.File   = file;
            this.Member = member;
        }
示例#8
0
 /// <summary>
 /// <para>Initializes a new instance of the <see cref="UpdateFileMemberArgs" />
 /// class.</para>
 /// </summary>
 /// <param name="file">File for which we are changing a member's access.</param>
 /// <param name="member">The member whose access we are changing.</param>
 /// <param name="accessLevel">The new access level for the member.</param>
 public UpdateFileMemberArgs(string file,
                             MemberSelector member,
                             AccessLevel accessLevel)
     : base(file, member, accessLevel)
 {
 }