/// <summary>
        /// <para>Creates a file request for this user.</para>
        /// </summary>
        /// <param name="title">The title of the file request. Must not be empty.</param>
        /// <param name="destination">The path of the folder in the Dropbox where uploaded
        /// files will be sent. For apps with the app folder permission, this will be relative
        /// to the app folder.</param>
        /// <param name="deadline">The deadline for the file request. Deadlines can only be set
        /// by Pro and Business accounts.</param>
        /// <param name="open">Whether or not the file request should be open. If the file
        /// request is closed, it will not accept any file submissions, but it can be opened
        /// later.</param>
        /// <returns>The task that represents the asynchronous send operation. The TResult
        /// parameter contains the response from the server.</returns>
        /// <exception cref="Dropbox.Api.ApiException{TError}">Thrown if there is an error
        /// processing the request; This will contain a <see
        /// cref="CreateFileRequestError"/>.</exception>
        public t.Task <FileRequest> CreateAsync(string title,
                                                string destination,
                                                FileRequestDeadline deadline = null,
                                                bool open = true)
        {
            var createFileRequestArgs = new CreateFileRequestArgs(title,
                                                                  destination,
                                                                  deadline,
                                                                  open);

            return(this.CreateAsync(createFileRequestArgs));
        }
        /// <summary>
        /// <para>Begins an asynchronous send to the create route.</para>
        /// </summary>
        /// <param name="title">The title of the file request. Must not be empty.</param>
        /// <param name="destination">The path of the folder in the Dropbox where uploaded
        /// files will be sent. For apps with the app folder permission, this will be relative
        /// to the app folder.</param>
        /// <param name="deadline">The deadline for the file request. Deadlines can only be set
        /// by Pro and Business accounts.</param>
        /// <param name="open">Whether or not the file request should be open. If the file
        /// request is closed, it will not accept any file submissions, but it can be opened
        /// later.</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="callbackState">A user provided object that distinguished this send
        /// from other send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginCreate(string title,
                                            string destination,
                                            FileRequestDeadline deadline = null,
                                            bool open = true,
                                            sys.AsyncCallback callback = null,
                                            object callbackState       = null)
        {
            var createFileRequestArgs = new CreateFileRequestArgs(title,
                                                                  destination,
                                                                  deadline,
                                                                  open);

            return(this.BeginCreate(createFileRequestArgs, callback, callbackState));
        }
        /// <summary>
        /// <para>Begins an asynchronous send to the create route.</para>
        /// </summary>
        /// <param name="createFileRequestArgs">The request parameters.</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="state">A user provided object that distinguished this send from other
        /// send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginCreate(CreateFileRequestArgs createFileRequestArgs, sys.AsyncCallback callback, object state = null)
        {
            var task = this.CreateAsync(createFileRequestArgs);

            return(enc.Util.ToApm(task, callback, state));
        }
 /// <summary>
 /// <para>Creates a file request for this user.</para>
 /// </summary>
 /// <param name="createFileRequestArgs">The request parameters</param>
 /// <returns>The task that represents the asynchronous send operation. The TResult
 /// parameter contains the response from the server.</returns>
 /// <exception cref="Dropbox.Api.ApiException{TError}">Thrown if there is an error
 /// processing the request; This will contain a <see
 /// cref="CreateFileRequestError"/>.</exception>
 public t.Task <FileRequest> CreateAsync(CreateFileRequestArgs createFileRequestArgs)
 {
     return(this.Transport.SendRpcRequestAsync <CreateFileRequestArgs, FileRequest, CreateFileRequestError>(createFileRequestArgs, "api", "/file_requests/create", "user", global::Dropbox.Api.FileRequests.CreateFileRequestArgs.Encoder, global::Dropbox.Api.FileRequests.FileRequest.Decoder, global::Dropbox.Api.FileRequests.CreateFileRequestError.Decoder));
 }