public JCR CreateJCR(string issn, string nomePeriodico, string nomeAbreviado, int rank, Nullable <int> numeroCitacoes, Nullable <decimal> fatorImpacto,
                             Nullable <decimal> fatorImpactoSemCitacoesProprias, Nullable <decimal> fatorImpactoCincoAnos, Nullable <decimal> indiceInfluencia,
                             Nullable <int> itensCitaveis, Nullable <decimal> pontuacaoEigenfactor, Nullable <decimal> pontuacaoInfluenciaArtigo, Nullable <decimal> percentualMedio, Nullable <decimal> eigenfactorNormalizado)
        {
            if (issn == null)
            {
                issn = "";
            }
            else
            {
                if (issn.Trim() != "")
                {
                    issn = Utils.CleanISSN(issn);
                }
            }

            JCR jcr = GetJCR(issn, nomePeriodico);

            if (jcr == null)
            {
                jcr = LattesDatabase.JCR.Create();
                jcr.NomePeriodicoJCR = nomePeriodico;
                jcr.ISSNJCR          = issn;

                LattesDatabase.JCR.Add(jcr);
            }

            jcr.NomeAbreviadoPeriodioJCR = nomeAbreviado;
            jcr.Rank = rank;
            jcr.NumeroCitacoesJCR = numeroCitacoes;
            jcr.FatorImpactoJCR   = fatorImpacto;
            jcr.FatorImpactoSemCitacoesPropriasJCR = fatorImpactoSemCitacoesProprias;
            jcr.FatorImpactoCincoAnosJCR           = fatorImpactoCincoAnos;
            jcr.IndiceInfluenciaJCR          = indiceInfluencia;
            jcr.ItensCitaveisJCR             = itensCitaveis;
            jcr.PontuacaoEigenfactorJCR      = pontuacaoEigenfactor;
            jcr.PontuacaoInfluenciaArtigoJCR = pontuacaoInfluenciaArtigo;
            jcr.PercentualMedioJCR           = percentualMedio;
            jcr.EigenfactorNormalizadoJCR    = eigenfactorNormalizado;

            LattesDatabase.SaveChanges();

            return(jcr);
        }
        public PeriodicoQualis CreateQualis(string issn, string titulo, string extrato, string areaAtuacao)
        {
            if (issn == null)
            {
                issn = "";
            }
            else
            {
                if (issn.Trim() != "")
                {
                    issn = naoEhNumero.Replace(issn.Trim(), "");
                }
            }

            PeriodicoQualis qualis = GetQualis(issn, titulo);

            if (qualis == null)
            {
                qualis = LattesDatabase.PeriodicoQualis.Create();

                qualis.ISSNPeriodicoQualis   = Utils.SetMaxLength(issn, 8);
                qualis.TituloPeriodicoQualis = Utils.SetMaxLength(titulo, 200);

                LattesDatabase.PeriodicoQualis.Add(qualis);
            }

            ExtratoQualis extratoQualis = qualis.ExtratoQualis.FirstOrDefault(e => e.AreaAvaliacaoPeriodicoQualis == areaAtuacao);

            if (extratoQualis == null)
            {
                extratoQualis = LattesDatabase.ExtratoQualis.Create();
                extratoQualis.ExtratoPeriodicoQualis       = extrato;
                extratoQualis.AreaAvaliacaoPeriodicoQualis = areaAtuacao;
                qualis.ExtratoQualis.Add(extratoQualis);
            }
            else
            {
                extratoQualis.ExtratoPeriodicoQualis = extrato;
            }

            LattesDatabase.SaveChanges();

            return(qualis);
        }