예제 #1
0
        public ActionResult Confirmar(FormCollection formCollection)
        {
            if (Sessao.UsuarioCategoriaCodigo != Categoria.PROFESSOR)
            {
                if (Session["UrlReferrer"] != null)
                {
                    return(Redirect(Session["UrlReferrer"].ToString()));
                }
                else
                {
                    return(RedirectToAction("Index", "Principal"));
                }
            }
            var acad = new AvalAcademica();

            if (formCollection.HasKeys())
            {
                DateTime hoje = DateTime.Now;

                /* Chave */
                acad.Avaliacao = new Avaliacao();
                acad.Avaliacao.TipoAvaliacao    = TipoAvaliacao.ListarPorCodigo(TipoAvaliacao.ACADEMICA);
                acad.Avaliacao.Ano              = hoje.Year;
                acad.Avaliacao.Semestre         = hoje.SemestreAtual();
                acad.Avaliacao.NumIdentificador = Avaliacao.ObterNumIdentificador(TipoAvaliacao.ACADEMICA);
                acad.Avaliacao.DtCadastro       = hoje;

                /* Professor */
                string matricula = Helpers.Sessao.UsuarioMatricula;
                acad.Professor = Professor.ListarPorMatricula(matricula);

                /* Dados */
                int codDisciplina = int.Parse(formCollection["ddlDisciplina"]);

                acad.CodDisciplina = codDisciplina;

                /* Dificuldade */
                int codDificuldade = int.Parse(formCollection["ddlDificuldade"]);

                /* Quantidade */
                int quantidadeObjetiva   = 0;
                int quantidadeDiscursiva = 0;

                if (formCollection["ddlTipo"] == "3")
                {
                    int.TryParse(formCollection["txtQteObjetiva"], out quantidadeObjetiva);
                    int.TryParse(formCollection["txtQteDiscursiva"], out quantidadeDiscursiva);
                }
                else if (formCollection["ddlTipo"] == "2")
                {
                    int.TryParse(formCollection["txtQteDiscursiva"], out quantidadeDiscursiva);
                }
                else if (formCollection["ddlTipo"] == "1")
                {
                    int.TryParse(formCollection["txtQteObjetiva"], out quantidadeObjetiva);
                }

                /* Temas */
                string[] temaCodigos = formCollection["ddlTemas"].Split(',');

                /* Questões */
                List <QuestaoTema> lstQuestoes = new List <QuestaoTema>();

                if (quantidadeObjetiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(codDisciplina, temaCodigos, codDificuldade, TipoQuestao.OBJETIVA, quantidadeObjetiva));
                }
                if (quantidadeDiscursiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(codDisciplina, temaCodigos, codDificuldade, TipoQuestao.DISCURSIVA, quantidadeDiscursiva));
                }

                foreach (var temaCodigo in temaCodigos)
                {
                    var avalTema = new AvaliacaoTema();
                    avalTema.Tema = Tema.ListarPorCodigo(codDisciplina, int.Parse(temaCodigo));
                    foreach (var questaoTema in lstQuestoes.Where(q => q.CodTema == int.Parse(temaCodigo)))
                    {
                        var avalTemaQuestao = new AvalTemaQuestao();
                        avalTemaQuestao.QuestaoTema = questaoTema;
                        avalTema.AvalTemaQuestao.Add(avalTemaQuestao);
                    }
                    acad.Avaliacao.AvaliacaoTema.Add(avalTema);
                }

                AvalAcademica.Inserir(acad);
                Lembrete.AdicionarNotificacao($"Avaliação Acadêmica {acad.Avaliacao.CodAvaliacao} gerada com sucesso.", Lembrete.POSITIVO);
                if (quantidadeObjetiva + quantidadeDiscursiva > acad.Avaliacao.Questao.Count)
                {
                    Lembrete.AdicionarNotificacao("Avaliação Acadêmica gerada com quantidade de questões inferior ao requisitado", Lembrete.NEGATIVO, 0);
                }
            }

            return(View(acad));
        }
예제 #2
0
        public ActionResult Confirmar(FormCollection formCollection)
        {
            if (!formCollection.HasKeys())
            {
                return(RedirectToAction("Index"));
            }

            if (!String.IsNullOrWhiteSpace(formCollection["chkAvalicoesSeparadas"]))
            {
                string[] disciplinas = formCollection["ddlDisciplinas"].Split(',');
                foreach (var disciplina in disciplinas)
                {
                    var auto = new AvalAuto();

                    DateTime hoje = DateTime.Now;

                    /* Chave */
                    auto.Avaliacao = new Avaliacao();
                    auto.Avaliacao.TipoAvaliacao    = TipoAvaliacao.ListarPorCodigo(TipoAvaliacao.AUTOAVALIACAO);
                    auto.Avaliacao.Ano              = hoje.Year;
                    auto.Avaliacao.Semestre         = hoje.SemestreAtual();
                    auto.Avaliacao.NumIdentificador = Avaliacao.ObterNumIdentificador(TipoAvaliacao.AUTOAVALIACAO);

                    /* Pessoa */
                    auto.CodPessoaFisica = Sistema.UsuarioAtivo[Sessao.UsuarioMatricula].Usuario.CodPessoaFisica;

                    /* Dados */
                    List <int> dificuldades = new List <int>();

                    /* Dificuldade */
                    int codDificuldade = int.Parse(formCollection["ddlDificuldade" + disciplina]);
                    dificuldades.Add(codDificuldade);

                    /* Quantidade */
                    int qteObjetiva   = 0;
                    int qteDiscursiva = 0;
                    if (formCollection["ddlTipo"] == "3")
                    {
                        int.TryParse(formCollection["txtQteObjetiva" + disciplina], out qteObjetiva);
                        int.TryParse(formCollection["txtQteDiscursiva" + disciplina], out qteDiscursiva);
                    }
                    else if (formCollection["ddlTipo"] == "2")
                    {
                        int.TryParse(formCollection["txtQteDiscursiva" + disciplina], out qteDiscursiva);
                    }
                    else if (formCollection["ddlTipo"] == "1")
                    {
                        int.TryParse(formCollection["txtQteObjetiva" + disciplina], out qteObjetiva);
                    }

                    /* Temas */
                    string[] temas = formCollection["ddlTemas" + disciplina].Split(',');

                    /* Questões */
                    List <QuestaoTema> questoes = new List <QuestaoTema>();

                    if (qteObjetiva > 0)
                    {
                        questoes.AddRange(Questao.ListarPorDisciplina(int.Parse(disciplina), temas, codDificuldade, TipoQuestao.OBJETIVA, qteObjetiva));
                    }

                    if (qteDiscursiva > 0)
                    {
                        questoes.AddRange(Questao.ListarPorDisciplina(int.Parse(disciplina), temas, codDificuldade, TipoQuestao.DISCURSIVA, qteDiscursiva));
                    }

                    foreach (var tema in temas)
                    {
                        var avalTema = new AvaliacaoTema();
                        avalTema.Tema = Tema.ListarPorCodigo(int.Parse(disciplina), int.Parse(tema));
                        foreach (var questaoTema in questoes.Where(q => q.CodTema == int.Parse(tema)))
                        {
                            var avalTemaQuestao = new AvalTemaQuestao();
                            avalTemaQuestao.QuestaoTema = questaoTema;
                            avalTema.AvalTemaQuestao.Add(avalTemaQuestao);
                        }
                        auto.Avaliacao.AvaliacaoTema.Add(avalTema);
                    }

                    auto.Avaliacao.DtCadastro = hoje;
                    auto.CodDificuldade       = dificuldades.Max();

                    AvalAuto.Inserir(auto);
                    Lembrete.AdicionarNotificacao($"Autoavaliação {auto.Avaliacao.CodAvaliacao} gerada com sucesso.", Lembrete.POSITIVO);
                    if (qteObjetiva + qteDiscursiva > auto.Avaliacao.Questao.Count)
                    {
                        Lembrete.AdicionarNotificacao("Autoavaliação de " + auto.Disciplina.First().Descricao + " gerada com quantidade de questões inferior ao requisitado", Lembrete.NEGATIVO, 0);
                    }
                }
                return(RedirectToAction("Realizar"));
            }
            else
            {
                var auto = new AvalAuto();

                DateTime hoje = DateTime.Now;

                /* Chave */
                auto.Avaliacao = new Avaliacao();
                auto.Avaliacao.TipoAvaliacao    = TipoAvaliacao.ListarPorCodigo(TipoAvaliacao.AUTOAVALIACAO);
                auto.Avaliacao.Ano              = hoje.Year;
                auto.Avaliacao.Semestre         = hoje.SemestreAtual();
                auto.Avaliacao.NumIdentificador = Avaliacao.ObterNumIdentificador(TipoAvaliacao.AUTOAVALIACAO);

                /* Pessoa */
                auto.CodPessoaFisica = Sistema.UsuarioAtivo[Sessao.UsuarioMatricula].Usuario.CodPessoaFisica;

                string[] disciplinas = formCollection["ddlDisciplinas"].Split(',');
                /* Dados */
                List <int> dificuldades               = new List <int>();
                int        quantidadeTotalObjetivas   = 0;
                int        quantidadeTotalDiscursivas = 0;
                foreach (var disciplina in disciplinas)
                {
                    /* Dificuldade */
                    int codDificuldade = int.Parse(formCollection["ddlDificuldade" + disciplina]);
                    dificuldades.Add(codDificuldade);

                    /* Quantidade */
                    int qteObjetiva   = 0;
                    int qteDiscursiva = 0;
                    if (formCollection["ddlTipo"] == "3")
                    {
                        int.TryParse(formCollection["txtQteObjetiva" + disciplina], out qteObjetiva);
                        int.TryParse(formCollection["txtQteDiscursiva" + disciplina], out qteDiscursiva);
                        quantidadeTotalObjetivas   += qteObjetiva;
                        quantidadeTotalDiscursivas += qteDiscursiva;
                    }
                    else if (formCollection["ddlTipo"] == "2")
                    {
                        int.TryParse(formCollection["txtQteDiscursiva" + disciplina], out qteDiscursiva);
                        quantidadeTotalDiscursivas += qteDiscursiva;
                    }
                    else if (formCollection["ddlTipo"] == "1")
                    {
                        int.TryParse(formCollection["txtQteObjetiva" + disciplina], out qteObjetiva);
                        quantidadeTotalObjetivas += qteObjetiva;
                    }

                    /* Temas */
                    string[] temas = formCollection["ddlTemas" + disciplina].Split(',');

                    /* Questões */
                    List <QuestaoTema> questoes = new List <QuestaoTema>();

                    if (qteObjetiva > 0)
                    {
                        questoes.AddRange(Questao.ListarPorDisciplina(int.Parse(disciplina), temas, codDificuldade, TipoQuestao.OBJETIVA, qteObjetiva));
                    }

                    if (qteDiscursiva > 0)
                    {
                        questoes.AddRange(Questao.ListarPorDisciplina(int.Parse(disciplina), temas, codDificuldade, TipoQuestao.DISCURSIVA, qteDiscursiva));
                    }

                    foreach (var tema in temas)
                    {
                        var avalTema = new AvaliacaoTema();
                        avalTema.Tema = Tema.ListarPorCodigo(int.Parse(disciplina), int.Parse(tema));
                        foreach (var questaoTema in questoes.Where(q => q.CodTema == int.Parse(tema)))
                        {
                            var avalTemaQuestao = new AvalTemaQuestao();
                            avalTemaQuestao.QuestaoTema = questaoTema;
                            avalTema.AvalTemaQuestao.Add(avalTemaQuestao);
                        }
                        auto.Avaliacao.AvaliacaoTema.Add(avalTema);
                    }
                }

                auto.Avaliacao.DtCadastro = hoje;
                auto.CodDificuldade       = dificuldades.Max();

                AvalAuto.Inserir(auto);
                Lembrete.AdicionarNotificacao($"Autoavaliação {auto.Avaliacao.CodAvaliacao} gerada com sucesso.", Lembrete.POSITIVO);
                if (quantidadeTotalDiscursivas + quantidadeTotalObjetivas > auto.Avaliacao.Questao.Count)
                {
                    Lembrete.AdicionarNotificacao("Autoavaliação gerada com quantidade de questões inferior ao requisitado", Lembrete.NEGATIVO, 0);
                }
                return(View(auto));
            }
        }
예제 #3
0
        public string Gerar(string codigo, int[] justificaticoes, bool nova = false)
        {
            DateTime hoje = DateTime.Now;

            var           aval = new AvalAcadReposicao();
            AvalAcademica acad = AvalAcademica.ListarPorCodigoAvaliacao(codigo);

            aval.Avaliacao = new Avaliacao();

            aval.Avaliacao.TipoAvaliacao    = TipoAvaliacao.ListarPorCodigo(TipoAvaliacao.REPOSICAO);
            aval.Avaliacao.Ano              = hoje.Year;
            aval.Avaliacao.Semestre         = hoje.SemestreAtual();
            aval.Avaliacao.NumIdentificador = Avaliacao.ObterNumIdentificador(TipoAvaliacao.REPOSICAO);
            aval.Avaliacao.DtCadastro       = hoje;

            if (nova)
            {
                List <QuestaoTema>   lstQuestoes      = new List <QuestaoTema>();
                List <AvaliacaoTema> lstAvaliacaoTema = acad.Avaliacao.AvaliacaoTema.ToList();
                int      quantidadeObjetiva           = lstAvaliacaoTema.QteQuestoesPorTipo(TipoQuestao.OBJETIVA);
                int      quantidadeDiscursiva         = lstAvaliacaoTema.QteQuestoesPorTipo(TipoQuestao.DISCURSIVA);
                string[] temasCodigo    = lstAvaliacaoTema.Select(a => a.CodTema.ToString()).ToArray();
                int      codDificuldade = acad.Avaliacao.Questao.Max(a => a.CodDificuldade);

                if (quantidadeObjetiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(acad.CodDisciplina, temasCodigo, codDificuldade, TipoQuestao.OBJETIVA, quantidadeObjetiva));
                }
                if (quantidadeDiscursiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(acad.CodDisciplina, temasCodigo, codDificuldade, TipoQuestao.DISCURSIVA, quantidadeDiscursiva));
                }

                foreach (var temaCodigo in temasCodigo)
                {
                    var avalTema = new AvaliacaoTema();
                    avalTema.Tema = Tema.ListarPorCodigo(acad.CodDisciplina, int.Parse(temaCodigo));
                    foreach (var queTma in lstQuestoes.Where(q => q.CodTema == int.Parse(temaCodigo)))
                    {
                        var avalTemaQuestao = new AvalTemaQuestao();
                        avalTemaQuestao.QuestaoTema = queTma;
                        avalTema.AvalTemaQuestao.Add(avalTemaQuestao);
                    }
                    aval.Avaliacao.AvaliacaoTema.Add(avalTema);
                }
            }
            else
            {
                foreach (var avaliacaoTema in acad.Avaliacao.AvaliacaoTema)
                {
                    aval.Avaliacao.AvaliacaoTema.Add(new AvaliacaoTema
                    {
                        Tema            = avaliacaoTema.Tema,
                        AvalTemaQuestao = avaliacaoTema.AvalTemaQuestao.Select(a => new AvalTemaQuestao {
                            QuestaoTema = a.QuestaoTema
                        }).ToList()
                    });
                }
            }

            foreach (var codJustificacao in justificaticoes)
            {
                aval.Justificacao.Add(acad.Justificacoes.First(j => j.CodJustificacao == codJustificacao));
            }

            Repositorio.GetInstance().AvalAcadReposicao.Add(aval);
            Repositorio.Commit();

            return(nova ? Url.Action("Configurar", new { codigo = aval.Avaliacao.CodAvaliacao }) : Url.Action("Agendar", new { codigo = aval.Avaliacao.CodAvaliacao }));
        }
예제 #4
0
        public ActionResult Confirmar(FormCollection formCollection)
        {
            if (!formCollection.HasKeys())
            {
                return(RedirectToAction("Index"));
            }

            var questao = new Questao();

            questao.Professor    = Professor.ListarPorMatricula(Sessao.UsuarioMatricula);
            questao.CodProfessor = questao.Professor.CodProfessor;

            // Gerais
            questao.CodDificuldade = int.Parse(formCollection["ddlDificuldade"]);
            questao.Dificuldade    = Dificuldade.ListarPorCodigo(questao.CodDificuldade);
            questao.CodTipoQuestao = int.Parse(formCollection["ddlTipo"]);
            questao.TipoQuestao    = TipoQuestao.ListarPorCodigo(questao.CodTipoQuestao);

            int codDisciplina = int.Parse(formCollection["ddlDisciplina"]);

            string[] codTemas = formCollection["ddlTema"].Split(',');
            foreach (var strCodTema in codTemas)
            {
                int codTema = int.Parse(strCodTema);
                questao.QuestaoTema.Add(new QuestaoTema
                {
                    CodDisciplina = codDisciplina,
                    CodTema       = codTema,
                    Tema          = Tema.ListarPorCodigo(codDisciplina, codTema)
                });
            }

            // Detalhes
            questao.Enunciado = formCollection["txtEnunciado"].Trim();
            questao.Objetivo  = !String.IsNullOrWhiteSpace(formCollection["txtObjetivo"]) ? formCollection["txtObjetivo"].RemoveSpaces() : null;

            // Discursiva
            if (questao.CodTipoQuestao == TipoQuestao.DISCURSIVA)
            {
                questao.ChaveDeResposta = formCollection["txtChaveDeResposta"].Trim();
                questao.Comentario      = !String.IsNullOrWhiteSpace(formCollection["txtComentario"]) ? formCollection["txtComentario"].RemoveSpaces() : null;
            }

            // Objetiva
            if (questao.CodTipoQuestao == TipoQuestao.OBJETIVA)
            {
                int qteAlternativas = int.Parse(formCollection["txtQtdAlternativas"]);
                for (int i = 0; i < qteAlternativas; i++)
                {
                    questao.Alternativa.Add(new Alternativa
                    {
                        CodOrdem     = i,
                        Enunciado    = formCollection["txtAlternativaEnunciado" + (i + 1)].RemoveSpaces(),
                        Comentario   = !String.IsNullOrWhiteSpace(formCollection["txtAlternativaComentario" + (i + 1)]) ? formCollection["txtAlternativaComentario" + (i + 1)].RemoveSpaces() : null,
                        FlagGabarito = !String.IsNullOrWhiteSpace(formCollection["chkAlternativaCorreta" + (i + 1)]) ? true : false
                    });
                }
            }

            // Anexos
            if (!String.IsNullOrWhiteSpace(formCollection["chkAnexos"]) && !String.IsNullOrWhiteSpace(formCollection["txtQtdAnexos"]))
            {
                int iAnexoImage = 0;
                int qteAnexos   = int.Parse(formCollection["txtQtdAnexos"]);
                for (int i = 0; i < qteAnexos; i++)
                {
                    int tipoAnexo = int.Parse(formCollection["txtAnexoTipo" + (i + 1)]);
                    switch (tipoAnexo)
                    {
                    case TipoAnexo.IMAGEM:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces(),
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = new System.IO.BinaryReader(Request.Files[iAnexoImage].InputStream).ReadBytes(Request.Files[iAnexoImage].ContentLength)
                        });
                        iAnexoImage++;
                        break;

                    case TipoAnexo.CODIGO:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null,
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes()
                        });
                        break;

                    case TipoAnexo.TEXTO:
                        questao.QuestaoAnexo.Add(new QuestaoAnexo
                        {
                            CodOrdem     = i,
                            CodTipoAnexo = tipoAnexo,
                            Legenda      = !String.IsNullOrWhiteSpace(formCollection["txtAnexoLegenda" + (i + 1)]) ? formCollection["txtAnexoLegenda" + (i + 1)].RemoveSpaces() : null,
                            Fonte        = !String.IsNullOrWhiteSpace(formCollection["txtAnexoFonte" + (i + 1)]) ? formCollection["txtAnexoFonte" + (i + 1)].RemoveSpaces() : null,
                            Anexo        = formCollection["txtAnexo" + (i + 1)].ToString().GetBytes()
                        });
                        break;

                    default:
                        break;
                    }
                }
            }

            Questao.Inserir(questao);
            Lembrete.AdicionarNotificacao($"Questão {questao.CodQuestao} cadastrada com sucesso.", Lembrete.POSITIVO);
            return(RedirectToAction("Detalhe", new { codigo = questao.CodQuestao }));
        }
예제 #5
0
        public ActionResult Confirmar(FormCollection formCollection)
        {
            var cert = new AvalCertificacao();

            if (formCollection.HasKeys())
            {
                DateTime hoje = DateTime.Now;

                /* Chave */
                cert.Avaliacao = new Avaliacao();
                cert.Avaliacao.TipoAvaliacao    = TipoAvaliacao.ListarPorCodigo(TipoAvaliacao.CERTIFICACAO);
                cert.Avaliacao.Ano              = hoje.Year;
                cert.Avaliacao.Semestre         = hoje.SemestreAtual();
                cert.Avaliacao.NumIdentificador = Avaliacao.ObterNumIdentificador(TipoAvaliacao.CERTIFICACAO);
                cert.Avaliacao.DtCadastro       = hoje;

                /* Professor */
                string matricula = Sessao.UsuarioMatricula;
                cert.Professor = Professor.ListarPorMatricula(matricula);

                /* Dados */
                int codDisciplina = int.Parse(formCollection["ddlDisciplina"]);

                cert.CodDisciplina = codDisciplina;

                /* Dificuldade */
                int codDificuldade = int.Parse(formCollection["ddlDificuldade"]);

                /* Quantidade */
                int quantidadeObjetiva   = 0;
                int quantidadeDiscursiva = 0;
                if (formCollection["ddlTipo"] == "3")
                {
                    int.TryParse(formCollection["txtQteObjetiva"], out quantidadeObjetiva);
                    int.TryParse(formCollection["txtQteDiscursiva"], out quantidadeDiscursiva);
                }
                else if (formCollection["ddlTipo"] == "2")
                {
                    int.TryParse(formCollection["txtQteDiscursiva"], out quantidadeDiscursiva);
                }
                else if (formCollection["ddlTipo"] == "1")
                {
                    int.TryParse(formCollection["txtQteObjetiva"], out quantidadeObjetiva);
                }

                /* Temas */
                string[] temasCodigo = formCollection["ddlTemas"].Split(',');

                /* Questões */
                List <QuestaoTema> lstQuestoes = new List <QuestaoTema>();

                if (quantidadeObjetiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(codDisciplina, temasCodigo, codDificuldade, TipoQuestao.OBJETIVA, quantidadeObjetiva));
                }
                if (quantidadeDiscursiva > 0)
                {
                    lstQuestoes.AddRange(Questao.ListarPorDisciplina(codDisciplina, temasCodigo, codDificuldade, TipoQuestao.DISCURSIVA, quantidadeDiscursiva));
                }

                foreach (var temaCodigo in temasCodigo)
                {
                    var avalTema = new AvaliacaoTema();
                    avalTema.Tema = Tema.ListarPorCodigo(codDisciplina, int.Parse(temaCodigo));
                    foreach (var questaoTema in lstQuestoes.Where(q => q.CodTema == int.Parse(temaCodigo)))
                    {
                        var avalTemaQuestao = new AvalTemaQuestao();
                        avalTemaQuestao.QuestaoTema = questaoTema;
                        avalTema.AvalTemaQuestao.Add(avalTemaQuestao);
                    }
                    cert.Avaliacao.AvaliacaoTema.Add(avalTema);
                }

                AvalCertificacao.Inserir(cert);
            }

            return(RedirectToAction("Configurar", new { codigo = cert.Avaliacao.CodAvaliacao }));
        }