Example #1
0
        public DepositoViewModel Depositar(DepositoViewModel depositoViewModel)
        {
            var conta = _contaRepository.ObterPorId(depositoViewModel.Id);

            Transacoes transacoes = new Transacoes(depositoViewModel.ValorDeposito, TipoTransacao.Deposito, conta.Id);

            var contaRet = _contaService.Depositar(conta, transacoes);

            if (contaRet.ValidationResult.IsValid)
            {
                _transacaoService.Adicionar(transacoes);
            }
            else
            {
                contaRet.ValidationResult.Message = "Ocorreu um erro ao depositar!";
                return(Mapper.Map <DepositoViewModel>(contaRet));
            }


            if (transacoes.ValidationResult.IsValid)
            {
                Commit();
                contaRet.ValidationResult.Message = "Deposito realizado com sucesso!";
            }

            depositoViewModel = Mapper.Map <DepositoViewModel>(contaRet);

            return(depositoViewModel);
        }
Example #2
0
        private static async Task Depositar()
        {
            var conta = await BuscarConta();

            Console.Write("Digite o valor a ser depositado: ");
            double valorDeposito = double.Parse(Console.ReadLine());

            await contaService.Depositar(conta, valorDeposito);
        }
Example #3
0
        public void Dado_uma_ContaValida_e_ValorValido_Quando_EfetuarDeposito_Entao_deve_Aumentar_Saldo()
        {
            // ARRANGE
            var valorDeposito = 200;
            var numeroConta   = 2;
            var saldoAnterior = _service.ObterSaldo(2);

            // ACT
            var saldo = _service.Depositar(numeroConta, valorDeposito);

            // ASSERT
            saldo.Should().BeGreaterThan(saldoAnterior);
        }
Example #4
0
        public ActionResult <ContaViewModel> Depositar([FromBody] ContaOperacaoViewModel contaOperacaoView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelError.GetErrorModelState(ModelState)));
            }

            ContaCorrente contaCorrente = (ContaCorrente)_contaCorrenteService.Depositar(contaOperacaoView.Id, contaOperacaoView.Valor);

            if (contaCorrente == null)
            {
                return(BadRequest(ModelError.GetErrorValidacao(_notificador)));
            }

            var contaCorrenteViewModel = _mapper.Map <ContaViewModel>(contaCorrente);

            return(Ok(contaCorrenteViewModel));
        }
 public IActionResult Depositar([FromBody] MovBancarioVM movimento)
 {
     try
     {
         var conta = _contaService.ObterConta(Convert.ToInt32(_authenticatedUser.Id), movimento.Agencia, movimento.NumConta);
         _contaService.Depositar(conta.Id, movimento.Valor);
         return(Ok(new
         {
             Mensagem = "Depósito efetuado com sucesso!"
         }));
     }
     catch (Exception ex)
     {
         return(BadRequest(new ErroVM
         {
             Excecao = ex.Message,
             Mensagem = "Não foi possível efetuar o depósito!"
         }));
     }
 }
Example #6
0
        public ActionResult <decimal> Post([FromRoute] int numero, [FromBody] DepositarRequest model)
        {
            try
            {
                var saldo    = _service.Depositar(numero, model.Valor);
                var response = new DepositarResponse(numero, saldo);

                return(new OkObjectResult(response));
            }
            catch (ValorInvalidoValidationException e)
            {
                return(new BadRequestObjectResult(e.Message));
            }
            catch (ContaInvalidaValidationException e)
            {
                return(new NotFoundObjectResult(e.Message));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public BancoDigitalMutation(IContaService contaService)
        {
            Name = "Mutation";
            Field <ContaType>("depositar",
                              arguments: new QueryArguments(
                                  new QueryArgument <IntGraphType> {
                Name = "conta"
            },
                                  new QueryArgument <DecimalGraphType> {
                Name = "valor"
            }
                                  ),
                              resolve: context =>
            {
                var numeroConta = context.GetArgument <int>("conta");
                var valor       = context.GetArgument <decimal>("valor");
                var resultado   = contaService.Depositar(numeroConta, double.Parse(valor.ToString()));
                return(resultado.Resultado == ResultadoOperacao.enResultado.Sucesso ? resultado.Conta : throw new ExecutionError(resultado.Mensagem));
            });

            Field <ContaType>("sacar",
                              arguments: new QueryArguments(
                                  new QueryArgument <IntGraphType> {
                Name = "conta"
            },
                                  new QueryArgument <DecimalGraphType> {
                Name = "valor"
            }
                                  ),
                              resolve: context =>
            {
                var numeroConta = context.GetArgument <int>("conta");
                var valor       = context.GetArgument <decimal>("valor");
                var resultado   = contaService.Sacar(numeroConta, double.Parse(valor.ToString()));
                return(resultado.Resultado == ResultadoOperacao.enResultado.Sucesso ? resultado.Conta : throw new ExecutionError(resultado.Mensagem));
            });
        }