Beispiel #1
0
        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));
        }
Beispiel #2
0
        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());
        }