/// <summary>
        /// Realiza o lancamento do rendimento diario da conta corrente para a conta
        /// </summary>
        /// <param name="idConta"></param>
        public void LancarRendimentoDiarioCC(int idConta)
        {
            //Buscar dados a conta
            var conta = _contaDominio.BuscarPorId(idConta);

            _contaDominio.ValidarConta(conta);

            if (conta.SaldoAtual <= 0)
            {
                throw new ArgumentException(MensagemResposta.ContaSemSaldoParaOperacao);
            }

            //Buscar dados da transacao
            var tipoTransacao = _transacaoDominio.BuscarTipoTransacoesPorNome(TiposTransacoes.RentabilizarCC);

            _transacaoDominio.ValidarTipoTransacao(tipoTransacao);

            //Buscar proximo rendimento
            var proximoRendimento = BuscarProximoRendimento(idConta);

            //Relizar o calculo com os dados retornados.
            var transacao = CalcularRendimento(conta.IdConta, conta.SaldoAtual, tipoTransacao.IdTipoTransacao, proximoRendimento);

            //Insere a nova transacao na conta.
            conta = _transacaoDominio.AdicionarTransacao(conta, transacao, tipoTransacao);
            conta.RendimentoDiarioCc.Add(new RendimentoDiarioCc
            {
                IdConta    = transacao.IdConta,
                IdTaxaCdi  = proximoRendimento.IdTaxaCdi,
                Rendimento = transacao.Valor,
                SaldoAtual = conta.SaldoAtual
            });

            _transacaoRepositorio.InserirTransacao(conta);
        }
        /// <summary>
        /// Insere uma transacao nova na conta.
        /// </summary>
        /// <param name="transacaoParam"></param>
        public void Inserir(TransacaoDTO transacaoParam)
        {
            var tipoTransacao = _tipoTransacaoRepositorio.BuscarTiposTransacoesPorId(transacaoParam.IdTipoTransacao);

            ValidarTipoTransacao(tipoTransacao);

            var conta = _contaDominio.BuscarPorId(transacaoParam.IdConta);

            _contaDominio.ValidarConta(conta);

            ValidarSaldo(conta, transacaoParam, tipoTransacao);

            conta = AdicionarTransacao(conta, transacaoParam, tipoTransacao);

            _transacaoRepositorio.InserirTransacao(conta);
        }