예제 #1
0
        public async Task Gerar(OperacaoUnariaDto dto)
        {
            operacaoServico.ValidarDescricao(dto.Descricao);

            var conta       = contaServico.ObterConta(dto.ContaId);
            var bonificacao = ObterBonificacao(conta.Id, dto.Valor);

            var cashIn = new CashIn(conta.Id, dto.Valor, dto.Descricao, conta.Saldo, bonificacao);

            cashInRepositorio.Post(cashIn);
            contaServico.VincularCashIn(conta, cashIn);

            await produtorClient.EnfileirarCashIn(new EfetivarOperacaoUnariaDto(cashIn.Id));
        }
예제 #2
0
        public async Task Gerar(OperacaoUnariaDto dto)
        {
            operacaoServico.ValidarDescricao(dto.Descricao);

            var conta     = contaServico.ObterConta(dto.ContaId);
            var valorTaxa = dto.Valor * configuracaoServico.ObterPercentualTaxa();

            var cashOut = new CashOut(conta.Id, dto.Valor, dto.Descricao, conta.Saldo, valorTaxa);

            cashOutRepositorio.Post(cashOut);
            contaServico.VincularCashOut(conta, cashOut);

            await produtorClient.EnfileirarCashOut(new EfetivarOperacaoUnariaDto(cashOut.Id));
        }