コード例 #1
0
        public void Sacar(DadosMovimentacao pDadosMovimentacao)
        {
            if (pDadosMovimentacao.Valor <= 0)
            {
                throw new Exception("Valor do saque inválido");
            }

            var conta = _datasetContaCorrente.Read()
                        .FirstOrDefault(x => x.Agencia == pDadosMovimentacao.Agencia &&
                                        x.NumConta == pDadosMovimentacao.NumeroConta);

            if (conta == null)
            {
                throw new Exception("Conta informada para o depósito inválida.");
            }

            ValidarSaldoContaCorrente(conta, pDadosMovimentacao.Valor);

            var movimentacao = new MovimentacaoCC()
            {
                ContaCorrenteId  = conta.Id,
                DataMovimentacao = DateTime.Now,
                Historico        = TEXTO_PARA_SAQUE,
                Valor            = pDadosMovimentacao.Valor * -1
            };

            _datasetMovimentacao.Create(movimentacao);
        }
コード例 #2
0
        public void Sacar(decimal pValor)
        {
            var dadosMovimentacao = new DadosMovimentacao(SessaoInfo.Agencia, SessaoInfo.NumeroConta, pValor);

            _movimentacoesBO.Sacar(dadosMovimentacao);
        }
コード例 #3
0
 public void Depositar(DadosMovimentacao pDadosMovimentacao)
 {
     _movimentacoesBO.Depositar(pDadosMovimentacao);
 }