public IActionResult Adicionar([FromBody] Correntista correntista)
 {
     try
     {
         if (_correntistaRepository.Existe(correntista.Identificador))
         {
             return(StatusCode(409, "Já existe um cadastro com esse numero de Identificador."));
         }
         _correntistaRepository.Adicionar(correntista);
         return(Ok($"Correntista {correntista.Nome} com código identificador {correntista.Identificador} adicionado com sucesso."));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, $"Erro interno no servidor: {ex.Message.ToString()}"));
     }
 }
Example #2
0
        public IActionResult Adicionar([FromBody] Transferencia transferencia)
        {
            if (transferencia.Valor <= 0.00M)
            {
                return(StatusCode(404, $"Transferência não realizada, valor da transferência deve ser maior que R$ 0,00."));
            }
            if (transferencia.IdentificadorOrigem == transferencia.IdentificadorDestino)
            {
                return(StatusCode(404, $"Transferência não realizada, o identificador origem e destino não pode ser o mesmo {transferencia.IdentificadorOrigem}."));
            }
            if (!_correntistaRepository.Existe(transferencia.IdentificadorOrigem))
            {
                return(StatusCode(404, $"Transferência não realizada, favor verificar se existe o identificador origem {transferencia.IdentificadorOrigem} cadastrado."));
            }
            if (!_correntistaRepository.Existe(transferencia.IdentificadorDestino))
            {
                return(StatusCode(404, $"Transferência não realizada, favor verificar se existe o identificador destino {transferencia.IdentificadorDestino} cadastrado."));
            }

            try
            {
                var saldoAtual = _contaRepository.BuscaSaldoConta(transferencia.IdentificadorOrigem);
                if (saldoAtual < transferencia.Valor)
                {
                    return(StatusCode(404, $"Transferência não realizada, saldo insuficiente para realizar a transação. Saldo conta origem R$ {saldoAtual}."));
                }

                _transferenciaRepository.Adicionar(transferencia);

                _contaRepository.AtualizarSaldoConta(transferencia.IdentificadorOrigem);
                _contaRepository.AtualizarSaldoConta(transferencia.IdentificadorDestino);

                return(Ok($"Transferência da conta de origem {transferencia.IdentificadorOrigem} para conta destino {transferencia.IdentificadorDestino} com o valor de R$ {transferencia.Valor}, foi realizada com sucesso."));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Erro interno no servidor: {ex.Message.ToString()}"));
            }
        }
 public IActionResult Adicionar([FromBody] Deposito deposito)
 {
     try
     {
         if (!_correntistaRepository.Existe(deposito.Identificador))
         {
             return(StatusCode(404, $"Depósito não realizado, favor verificar se existe o identificador {deposito.Identificador} cadastrado."));
         }
         _depositoRepository.Adicionar(deposito);
         _depositoRepository.AtualizarSaldo(deposito);
         return(Ok($"Depósito com o valor de R$ {deposito.Valor} para o código identificador {deposito.Identificador} realizado com sucesso."));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, $"Erro interno no servidor: {ex.Message.ToString()}"));
     }
 }