public async Task <Lancamento> AdicionarReceitaAsync(Guid competenciaId, Guid id, int categoriaId, DateTime data, string descricao, bool isLancamentoPago,
                                                             decimal valor, FormaDePagamento formaDePagto, string anotacao)
        {
            var competencia = await _competenciaRepository.GetByEntityIdAsync(competenciaId);

            if (competencia == null)
            {
                throw new CompetenciaNaoEncontradaException();
            }

            competencia = await _competenciaRepository.ObterPorAnoEMesAsync(competencia.Ano.Numero, (int)competencia.Mes);

            var receita = Receita.Create(Guid.NewGuid(), categoriaId, data, descricao, isLancamentoPago, valor,
                                         formaDePagto, anotacao);

            competencia.AdicionarReceita(receita);

            return(receita);
        }