public async Task <IActionResult> AdicionarContaCorrente() { var contaCorrenteDominio = await _servicoAplicacaoContaCorrente.AdicionarContaCorrenteAssincrono(); var retorno = new ModeloVisaoRetorno <ModeloVisaoContaCorrente> { ObjetoDeRetorno = _mapper.Map <ModeloVisaoContaCorrente>(contaCorrenteDominio) }; return(CreatedAtAction(nameof(ObterContaCorrente), new { codigo = contaCorrenteDominio.Codigo }, retorno)); }
public async Task <IActionResult> ObterUsuario(string usuarioId) { if (usuarioId is null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var retorno = new ModeloVisaoRetorno <ModeloVisaoUsuario>(); var usuarioDominio = await _servicoAplicacaoUsuario.BuscarUsuarioAssincrono(usuarioId); retorno.ObjetoDeRetorno = _mapper.Map <ModeloVisaoUsuario>(usuarioDominio); return(Ok(retorno)); }
public async Task <IActionResult> ObterContaCorrente(string codigo) { if (codigo is null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var contaCorrenteDominio = await _servicoAplicacaoContaCorrente.BuscarContaCorrenteAssincrono(codigo); var retorno = new ModeloVisaoRetorno <ModeloVisaoContaCorrente> { ObjetoDeRetorno = _mapper.Map <ModeloVisaoContaCorrente>(contaCorrenteDominio) }; return(Ok(retorno)); }
public async Task <IActionResult> AdicionarUsuario( [FromBody] VisaoModeloUsuario novoUsuario) { if (novoUsuario is null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var retorno = new ModeloVisaoRetorno <ModeloVisaoUsuario>(); var usuario = _mapper.Map <Usuario>(novoUsuario); var usuarioDominio = await _servicoAplicacaoUsuario.AdicionarUsuarioAssincrono(usuario); retorno.ObjetoDeRetorno = _mapper.Map <ModeloVisaoUsuario>(usuarioDominio); return(CreatedAtAction(nameof(ObterUsuario), new { usuarioId = usuarioDominio.UsuarioId }, retorno)); }
/// <summary> /// Acionada quando ocorrer um erro /// </summary> /// <param name="context"></param> public override void OnException(ExceptionContext context) { var coreError = context.Exception is ExcecaoDominio; var mvcController = context.ActionDescriptor.RouteValues["controller"]; var mvcAction = context.ActionDescriptor.RouteValues["action"]; var errorMessage = $"{context.Exception.Message}{context.Exception.InnerException?.Message}"; var resultado = new ModeloVisaoRetorno <ModeloVisaoErro> { Mensagem = "Erro", Sucesso = false, #if DEBUG ObjetoDeRetorno = new ModeloVisaoErro() { Core = coreError, Controller = mvcController, Action = mvcAction, Mensagem = errorMessage }, #else ObjetoDeRetorno = new ModeloVisaoErro() { Core = false, Controller = null, Action = null, Mensagem = "Erro" }, #endif }; if (coreError) { TratarExcecaoDominio((ExcecaoDominio)context.Exception, context, resultado); } else { context.Result = new ErroInternoServidorObjectResult(resultado); _logger.LogError(context.Exception, "Erro interno"); } }
public async Task <IActionResult> RealizarLogin( [FromBody] VisaoModeloUsuarioLogin loginUsuario, [FromServices] IGeradorToken geradorToken) { if (loginUsuario is null || !ModelState.IsValid) { return(BadRequest(ModelState)); } var objRetorno = new ModeloVisaoRetorno <ModeloVisaoToken>(); var usuario = _mapper.Map <Usuario>(loginUsuario); var usuarioAutenticado = await _servicoAplicacaoUsuario.RealizarLoginUsuario(usuario); objRetorno.ObjetoDeRetorno = new ModeloVisaoToken() { Token = geradorToken.GerarToken(usuarioAutenticado), Nome = usuarioAutenticado.Nome, UsuarioId = usuarioAutenticado.UsuarioId }; return(Ok(objRetorno)); }
private static void TratarExcecaoDominio(ExcecaoDominio excecao, ExceptionContext ctx, ModeloVisaoRetorno <ModeloVisaoErro> retorno) { if (excecao is ExcecaoDominioObjetoNaoEncontrado) { ctx.Result = new NaoEncontradoObjectResult(retorno); } else if (excecao is ExcecaoDominioUsuarioNaoEncontrado) { ctx.Result = new NaoAutorizadoObjectResult(retorno); } else { ctx.Result = new ConflitoObjectResult(retorno); } }