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)); }
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)); }