public async Task <IActionResult> Sacar(CancellationToken cancellationToken)
        {
            var contaBancaria = await GetContaBancariaPadraoAsync(cancellationToken);

            var dto = new CriarMovimentacaoBancariaViewModel
            {
                ContaBancariaId = contaBancaria.IdExterno,
                Saldo           = await _contaBancariaRepository.GetSaldoAsync(contaBancaria.IdExterno, cancellationToken)
            };

            return(View(dto));
        }
Пример #2
0
        public async Task <IActionResult> Sacar(CancellationToken cancellationToken)
        {
            var contaBancaria = await _contaBancariaRepository.GetContaBancariaPadraoAsync(cancellationToken);

            var saldo = await _contaBancariaRepository.GetSaldoAsync(contaBancaria.IdExterno, cancellationToken);

            var model = new CriarMovimentacaoBancariaViewModel()
            {
                Saldo = saldo
            };

            return(View(model));
        }
        protected override async Task <MovimentacaoBancaria> GetMovimentacaoBancariaAsync(CriarMovimentacaoBancariaDto dto, CancellationToken cancellationToken)
        {
            var contaBancaria = await _contaBancariaRepository.GetContaBancariaAsync(dto.ContaBancariaId, cancellationToken);

            var saque = new SaqueBuilder()
                        .WithContaBancaria(contaBancaria)
                        .WithData(DateTime.Now)
                        .WithValor(dto.Valor)
                        .Build();

            if (saque.IsValid())
            {
                var saldo = await _contaBancariaRepository.GetSaldoAsync(dto.ContaBancariaId, cancellationToken);

                if ((saldo - dto.Valor) <= default(decimal))
                {
                    saque.AddError("O valor informado é menor que o saldo da conta.");
                }
            }

            return(saque);
        }
Пример #4
0
        public async Task <IActionResult> Index(CancellationToken cancellationToken)
        {
            var contaBancaria = await GetContaBancariaPadraoAsync(cancellationToken);

            return(View(await _contaBancariaRepository.GetSaldoAsync(contaBancaria.IdExterno, cancellationToken)));
        }