コード例 #1
0
        public void Transferir(Tansferencia transferencia)
        {
            //TODO:Adicionar Regra de negocio aqui.
            var ContaOrigemExistente  = _contaRepository.Buscar(x => x.NumeroConta == transferencia.ContaOrigem).FirstOrDefault();
            var ContaDestinoExistente = _contaRepository.Buscar(x => x.NumeroConta == transferencia.ContaDestino).FirstOrDefault();


            if (ContaOrigemExistente == null)
            {
                throw new Exception("Conta Origem não encontrada!");
            }

            if (ContaOrigemExistente == null)
            {
                throw new Exception("Conta Destino não encontrada!");
            }

            if ((ContaOrigemExistente.Saldo - transferencia.Valor) < 0)
            {
                throw new Exception("Conta Origem não tem Saldo para efetuar esta operação!");
            }

            ContaOrigemExistente.Saldo = (ContaOrigemExistente.Saldo - transferencia.Valor);
            _contaRepository.Atualizar(ContaOrigemExistente);

            ContaDestinoExistente.Saldo = (ContaDestinoExistente.Saldo + transferencia.Valor);
            _contaRepository.Atualizar(ContaDestinoExistente);
        }
コード例 #2
0
 public IActionResult Transferir([FromBody] Tansferencia obj)
 {
     try
     {
         _contaService.Transferir(obj);
         var msg  = string.Format("Banco Aval - Traferência Feita com sucesso.");
         var json = new { ContaOrigem = obj.ContaOrigem, msg = "Tranferência feita com sucesso!" };
         return(StatusCode(StatusCodes.Status201Created, json));
     }
     catch (Exception ex)
     {
         var msg = string.Format("Banco Aval - Falha na transferencia - Msg: {0} - StackTrace:{1}", ex.Message, ex.StackTrace);
         return(StatusCode(StatusCodes.Status500InternalServerError, msg));
     }
 }