private FormManagerSubmitResult(bool succeeded, FormManagerXhrResult xhr, string message, bool uploadContainedFiles)
 {
     XHR                  = xhr;
     Message              = message;
     Succeeded            = succeeded;
     UploadContainedFiles = uploadContainedFiles;
 }
        public async Task OnSendSucceeded(FormManagerXhrResult xhr)
        {
            if (_formManager.IsDebug)
            {
                Console.WriteLine($"{nameof(OnSendSucceeded)} invoked.");
            }

            await _formManager.OnSendSucceededAsync(xhr);
        }
        public async Task OnSendFailed(FormManagerXhrResult xhr)
        {
            var responseText = xhr?.ResponseText;

            if (_formManager.LogLevel >= ConsoleLogLevel.Error)
            {
                Console.WriteLine($"{nameof(OnSendFailed)} invoked: {responseText}");
            }

            await _formManager.OnSendFailedAsync(xhr);
        }
        public async Task <FormManagerXhrResult> OnBeforeSend(FormManagerXhrResult xhr)
        {
            if (_formManager.IsDebug)
            {
                Console.WriteLine($"{nameof(OnBeforeSend)} invoked.");
            }

            await _formManager.OnBeforeSendAsync(xhr);

            return(xhr);
        }
 /// <summary>
 /// Creates and initializes a new instance of the <see cref="FormManagerSubmitResult"/>
 /// class for a non successful form submission.
 /// </summary>
 /// <param name="xhr">Information about the XMLHttpRequest object that was involved in the request.</param>
 /// <param name="message">The error message.</param>
 /// <param name="uploadContainedFiles">Indicates whether the upload contained one or more files.</param>
 /// <returns></returns>
 public static FormManagerSubmitResult Failed(FormManagerXhrResult xhr, string message, bool uploadContainedFiles)
 => new FormManagerSubmitResult(false, xhr, message, uploadContainedFiles);
 /// <summary>
 /// Creates and initializes a new instance of the <see cref="FormManagerSubmitResult"/>
 /// class for a successful form submission.
 /// </summary>
 /// <param name="xhr">Information about the XMLHttpRequest object that was involved in the request.</param>
 /// <param name="message">The success message.</param>
 /// <param name="uploadContainedFiles">Indicates whether the upload contained one or more files.</param>
 /// <returns></returns>
 public static FormManagerSubmitResult Success(FormManagerXhrResult xhr, string message, bool uploadContainedFiles)
 => new FormManagerSubmitResult(true, xhr, message, uploadContainedFiles);