예제 #1
0
        public async Task <IActionResult> ExecutarAsync <T>(Task <T> task, CancellationToken cancellationToken = default) where T : Resposta
        {
            try
            {
                var resposta = await task;
                if (resposta.Tipo == RespostaTipo.Sucesso)
                {
                    await _uow.CommitAsync(cancellationToken);
                }

                return(Ok(resposta));
            }catch (Exception ex)
            {
                return(BadRequest(Resposta.Falha("Ocorreu um erro interno no servidor!", new
                {
                    ex.Message,
                    ex.StackTrace
                })));
            }
        }