public void Deve_registrar_duas_forma_de_pagamento_a_um_recebimento()
        {
            var dataHoraDaSaida = new SimuladorDeDataHoraDoSistema {
                DataHora = _bilhete.DataHoraDeEntrada.AddMinutes(15)
            };

            _ticket.Saida(dataHoraDaSaida);
            _recebimento.Conferir(_ticket);
            var cobrancaPorHora = new CobrancaPorDiaria();

            _recebimento.CobrancaPorPermanencia(cobrancaPorHora);
            var transacaoEmDinheiro = new TransacaoFinanceira(FormaDePagamento.Dinheiro, _valorDaTransacao);

            _recebimento.Registrar(transacaoEmDinheiro);
            var transacaoEmCartaDeDebito = new TransacaoFinanceira(FormaDePagamento.CartaoDeDebito, _valorDaTransacao);

            _recebimento.Registrar(transacaoEmCartaDeDebito);

            var valorDaTransacaoEsperado      = _valorDaTransacao * 2;
            var transacoesFinanceirasEsperada = new TransacoesFinanceiras();

            transacoesFinanceirasEsperada.Adicionar(new TransacaoFinanceira(FormaDePagamento.Dinheiro, _valorDaTransacao));
            transacoesFinanceirasEsperada.Adicionar(new TransacaoFinanceira(FormaDePagamento.CartaoDeDebito, _valorDaTransacao));
            Assert.Equal(transacoesFinanceirasEsperada.Transacoes, _recebimento.TransacoesFinanceiras.Transacoes);
            Assert.True(_recebimento.TotalDasTransacoesFinanceiras() == valorDaTransacaoEsperado);
        }
        public ReturnOperation SetCreate(TransacaoFinanceira transacao)
        {
            var returnOperation = new ReturnOperation();

            _transacaoFinanceiraRepository.Add(transacao);
            _usuarioClient.AtualizaSaldo(transacao.Valor, transacao.TipoTransacaoFinanceira, transacao.UsuarioId);

            return returnOperation;
        }