public void Efetivar(EfetivarOperacaoBinariaDto dto) { var transferenciaSaida = transferenciaRepositorio.Get(dto.OperacaoSaidaId); var transferenciaEntrada = transferenciaRepositorio.Get(dto.OperacaoEntradaId); try { using (var transacao = transacaoServico.GerarNova()) { Efetivar(transferenciaSaida); Efetivar(transferenciaEntrada); transacao.Finalizar(); } } catch (CarteiraDigitalException e) { operacaoServico.MarcarComErro(transferenciaSaida, e.Message); operacaoServico.MarcarComErro(transferenciaEntrada, e.Message); } transferenciaRepositorio.Update(transferenciaSaida, transferenciaEntrada); }
public void Efetivar(EfetivarOperacaoUnariaDto dto) { var cashIn = cashInRepositorio.Get(dto.OperacaoId); try { var conta = contaServico.ObterConta(cashIn.ContaId); using (var transacao = transacaoServico.GerarNova()) { operacaoServico.Creditar(conta, cashIn.Valor + cashIn.ValorBonificacao); operacaoServico.MarcarEfetivada(cashIn); transacao.Finalizar(); } } catch (CarteiraDigitalException e) { operacaoServico.MarcarComErro(cashIn, e.Message); } cashInRepositorio.Update(cashIn); }