Exemple #1
0
        public static ActionResult ToActionResult(FailureCommandResult failureCommandResult)
        {
            var problemDetails = new ProblemDetails
            {
                Type   = "https://tools.ietf.org/html/rfc7231#section-6.6.1",
                Status = StatusCodes.Status500InternalServerError,
                Title  = "Error",
                Detail = failureCommandResult.Reason
            };

            return(new ObjectResult(problemDetails)
            {
                StatusCode = StatusCodes.Status500InternalServerError,
                ContentTypes = { "application/problem+json", "application/problem+xml" }
            });
        }
        public async Task <IActionResult> RequestSessionAsync([FromServices] RequestSessionCommandHandler handler, [FromBody] RequestSessionModel requestSessionModel, CancellationToken cancellationToken)
        {
            var command = new RequestSession(
                new List <PersonId>(requestSessionModel.Speakers.Select(g => (PersonId)g)),
                requestSessionModel.Title,
                requestSessionModel.Description,
                requestSessionModel.Tags,
                requestSessionModel.StartTime,
                requestSessionModel.EndTime);

            var(result, events) = await handler.ExecuteAsync(command, cancellationToken);

            await _eventDispatcher.DispatchAsync(events);

            return(result switch
            {
                SuccessCommandResult src => Accepted(),
                ValidationFailureCommandResult vfcr => this.ValidationProblem(vfcr),
                FailureCommandResult fcr => this.Problem(fcr),
                _ => Problem()
            });
Exemple #3
0
 public static ActionResult Problem(this ControllerBase controller, FailureCommandResult commandResult)
 {
     return(controller.Problem(commandResult.Reason));
 }