public IActionResult Post([FromBody] AddTicketDto dto
                                  , [FromServices] IAddTicketCommand command
                                  , [FromServices] AddTicketValidator validator)
        {
            var result = validator.Validate(dto);

            if (result.IsValid)
            {
                Ticket ticket = _mapper.Map <Ticket>(dto);
                _useCaseExecutor.ExecuteCommand(command, ticket);
                return(Ok("Ticket created successfully"));
            }

            return(UnprocessableEntity(UnprocessableEntityResponse.Message(result.Errors)));
        }
 public Task <IActionResult> AddTicket([FromBody] AddTicketDto dto) => _commandBus
 .ExecuteAsync(new AddTicket(
                   NewGuid().ToTicketId(),
                   dto.TicketNumber))
 .ToActionResultAsync();