コード例 #1
0
        public async Task <IActionResult> Upload(Upload.Command command)
        {
            var file = Request.Form.Files?.GetFile(nameof(command.File));

            return(await _mediator.SendAndMapResponse(
                       new Upload.Command()
            {
                File = file
            },
                       response => response.Match(
                           errors => RedirectToAction(nameof(Validation))
                           .WithProviderContext(_providerContextProvider.GetProviderContext()),
                           success => RedirectToAction(nameof(CheckAndPublish)))
                       .WithProviderContext(_providerContextProvider.GetProviderContext())));
        }
コード例 #2
0
        public async Task <IActionResult> Upload(Upload.Command command)
        {
            var file = Request.Form.Files?.GetFile(nameof(command.File));

            return(await _mediator.SendAndMapResponse(
                       new Upload.Command()
            {
                File = file
            },
                       response => response.Match <IActionResult>(
                           errors =>
            {
                ViewBag.MissingHeaders = errors.MissingHeaders;
                return this.ViewFromErrors(errors);
            },
                           result =>
                           RedirectToAction(
                               result switch
            {
                Venues.Upload.UploadSucceededResult.ProcessingCompletedSuccessfully => nameof(CheckAndPublish),
                Venues.Upload.UploadSucceededResult.ProcessingCompletedWithErrors => nameof(Errors),
                _ => nameof(InProgress)
            })