예제 #1
0
        public IActionResult Update(string cpf, [FromBody] ClienteLogin conta)
        {
            int  numeroConta     = _contaRepositorio.FindByNumC(cpf);
            var  _conta          = _contaRepositorio.FindByConta(numeroConta);
            bool contaVerificada = _contaRepositorio.VerifyAccount(_conta);
            var  senha           = _login.FindByCpf(cpf);

            DateTime alteracaoStatus;

            if (conta.senhaAcesso == senha.senhaAcesso)
            {
                try
                {
                    if (contaVerificada)
                    {
                        _conta.flagAtivo = -1;
                        _contaRepositorio.Update(_conta);

                        alteracaoStatus = DateTime.Now;

                        _contaRepositorio.Status(alteracaoStatus, _conta.flagAtivo, numeroConta);
                    }
                    else
                    {
                        return(BadRequest());
                    }
                }
                catch (Exception e)
                {
                    return(new ObjectResult(e));
                }

                return(new NoContentResult());
            }
            else
            {
                return(BadRequest());
            }
        }
예제 #2
0
        public IActionResult Token([FromBody] ClienteLogin request)
        {
            var findConta    = _contaRep.FindByNumC(request.cpf);
            var findNumConta = _contaRep.FindByConta(findConta);

            if (findNumConta.flagAtivo == -1)
            {
                return(BadRequest());
            }
            else
            {
                var cli = _clienteLoginRepositorio.FindByCpf(request.cpf);
                if (cli != null && cli.senhaAcesso == request.senhaAcesso)
                {
                    var claims = new[]
                    {
                        new Claim(ClaimTypes.Name, request.cpf)
                    };

                    IdentityModelEventSource.ShowPII = true;

                    var key = new SymmetricSecurityKey(
                        Encoding.UTF8.GetBytes(_configuration["SecurityKey"]));

                    var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);

                    var token = new JwtSecurityToken(
                        issuer: "InternetBanking.net",
                        audience: "InternetBanking.net",
                        claims: claims,
                        expires: DateTime.Now.AddMinutes(30),
                        signingCredentials: creds);
                    return(Ok(new
                    {
                        token = new JwtSecurityTokenHandler().WriteToken(token)
                    }));
                }
            }
            return(BadRequest("Credenciais Inválidas..."));
        }
예제 #3
0
        public IEnumerable <Transacao> GetAll(string cpf)
        {
            int numeroConta = _contaRepositorio.FindByNumC(cpf);

            return(_transacaoRepositorio.GetAll(numeroConta));
        }