public IActionResult ConsultarExtrato([FromQuery] DateTime dataInicial, [FromQuery] DateTime dataFinal) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } var contaId = ObterContaPeloToken(); var movimentacao = contaServico.ObterMovimentacao(contaId, dataInicial, dataFinal); return(Ok((ExtratoDto)movimentacao)); }
public async Task <IActionResult> GerarCashIn(DadosOperacaoUnaria dados) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } var token = Request.Headers[HeaderNames.Authorization]; var contaId = requisicaoServico.ObterContaDoCliente(token); await cashInServico.Gerar(new OperacaoUnariaDto(contaId, dados.Valor, dados.Descricao)); var movimentacaoUri = Url.Action("ConsultarExtrato", "Contas", null, HttpContext.Request.Scheme); return(Created(movimentacaoUri, null)); }
public async Task <IActionResult> Autenticar(CredenciaisDto credenciais) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } if (!await usuarioServico.EhUsuarioValidoAsync(credenciais.NomeUsuario)) { return(NotFound(ErroRespostaDto.ParaNotFound(credenciais.NomeUsuario))); } var result = await loginServico.AutenticarAsync(credenciais); return(await TratarSignInResult(result, credenciais)); }
public async Task <IActionResult> GerarTransferencia(DadosOperacaoBinaria dados) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } var token = Request.Headers[HeaderNames.Authorization]; var contaOrigemId = requisicaoServico.ObterContaDoCliente(token); var contaDestinoId = contaServico.ObterIdPeloTitular(dados.UsuarioDestino); await transferenciaServico.Gerar(new OperacaoBinariaDto(contaOrigemId, contaDestinoId, dados.Valor, dados.Descricao)); var movimentacaoUri = Url.Action("ConsultarExtrato", "Contas", null, HttpContext.Request.Scheme); return(Created(movimentacaoUri, null)); }
public async Task <IActionResult> Cadastrar(CadastroUsuarioDto cadastro) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } var resultado = await usuarioServico.CadastrarAsync(cadastro); if (!resultado.Succeeded) { return(BadRequest(ErroRespostaDto.Para(resultado.Errors))); } var loginUri = Url.Action("Autenticar", "Login", null, HttpContext.Request.Scheme); return(Created(loginUri, null)); }
public async Task <IActionResult> AlterarSenha(AlteracaoSenhaDto alteracao) { if (!ModelState.IsValid) { return(BadRequest(ErroRespostaDto.Para(ModelState))); } var usuario = await usuarioServico.ObterPeloNomeAsync(alteracao.NomeUsuario); if (!usuarioServico.EhUsuarioValido(usuario)) { return(NotFound(ErroRespostaDto.ParaNotFound(alteracao.NomeUsuario))); } var resultado = await usuarioServico.AlterarSenhaAsync(usuario, alteracao.Senha, alteracao.NovaSenha); if (!resultado.Succeeded) { return(BadRequest(ErroRespostaDto.Para(resultado.Errors))); } return(Ok()); }