示例#1
0
        public IActionResult Produzir(EfetivarOperacaoUnariaDto cashOut)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            produtor.Produzir(cashOut, FILA_CASHOUTS);
            logger.LogInformation("Cash-out enfileirado.");

            return(Ok());
        }
示例#2
0
        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);
        }
 public async Task EnfileirarCashOut(EfetivarOperacaoUnariaDto cashOut)
 {
     await client.PostAsync("ProdutorCashOuts", ObterConteudo(cashOut));
 }