예제 #1
0
        public ActionResult CadastrarQuestao(string codigo, FormCollection form)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null && form.HasKeys())
            {
                var questao = new AviQuestao();

                /* Chave */
                questao.AvalAvi         = avi;
                questao.CodAviModulo    = int.Parse(form["ddlModulo"]);
                questao.CodAviCategoria = int.Parse(form["ddlCategoria"]);
                questao.CodAviIndicador = int.Parse(form["ddlIndicador"]);
                questao.CodOrdem        = AviQuestao.ObterNovaOrdem(avi);

                questao.Enunciado  = form["txtEnunciado"].Trim();
                questao.Observacao = !String.IsNullOrWhiteSpace(form["txtObservacao"]) ? form["txtObservacao"].RemoveSpaces() : null;

                if (int.Parse(form["ddlTipo"]) == TipoQuestao.OBJETIVA)
                {
                    int qteAlternativas = int.Parse(form["txtQtdAlternativas"]);

                    for (int i = 1; i <= qteAlternativas; i++)
                    {
                        string enunciado = form["txtAlternativaEnunciado" + i];
                        questao.AviQuestaoAlternativa.Add(new AviQuestaoAlternativa
                        {
                            AviQuestao                = questao,
                            CodAlternativa            = i,
                            Enunciado                 = enunciado,
                            FlagAlternativaDiscursiva = false
                        });
                    }

                    if (form["chkAlternativaDiscursiva"] == "on")
                    {
                        int    codAlternativa = qteAlternativas + 1;
                        string enunciado      = form["txtAlternativaDiscursiva"];
                        questao.AviQuestaoAlternativa.Add(new AviQuestaoAlternativa
                        {
                            AviQuestao                = questao,
                            CodAlternativa            = codAlternativa,
                            Enunciado                 = enunciado,
                            FlagAlternativaDiscursiva = true
                        });
                    }
                }
                else if (int.Parse(form["ddlTipo"]) == TipoQuestao.DISCURSIVA)
                {
                    questao.FlagDiscursiva = true;
                }
                AviQuestao.Inserir(questao);
                return(Json(questao.CodOrdem));
            }
            return(Json(false));
        }
예제 #2
0
 // GET: impressao/institucional/avi201520001
 public ActionResult Institucional(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi model = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (model != null && model.CodColabCoordenador == Colaborador.ListarPorMatricula(Sessao.UsuarioMatricula).CodColaborador)
         {
             return(View(model));
         }
     }
     return(RedirectToAction("Index", "Principal"));
 }
예제 #3
0
 public void EnviarAlternativaDiscursiva(string codigo, int ordem, int alternativa, string resposta)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null && avi.FlagAndamento)
         {
             AviQuestao questao = avi.ObterQuestao(ordem);
             AviQuestaoPessoaResposta.InserirResposta(questao, PessoaFisica.ListarPorMatricula(Sessao.UsuarioMatricula), alternativa, resposta);
         }
     }
 }
예제 #4
0
 public ActionResult Informacao(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null)
         {
             return(PartialView("_InstitucionalInformacoes", avi));
         }
     }
     return(null);
 }
예제 #5
0
        public ActionResult Configurar(string codigo, string[] questoes)
        {
            if (!String.IsNullOrWhiteSpace(codigo) && questoes.Length > 0)
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

                if (avi != null && !avi.FlagAndamento)
                {
                    avi.OrdenarQuestoes(questoes);
                    return(View(avi));
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #6
0
 public ActionResult Resultado(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null)
         {
             Colaborador colaborador = Colaborador.ListarPorMatricula(Sessao.UsuarioMatricula);
             if (avi.CodColabCoordenador == colaborador.CodColaborador)
             {
                 return(View(avi));
             }
         }
     }
     return(RedirectToAction("Andamento"));
 }
예제 #7
0
 public ActionResult SalvarPublico(string codigo, List <Selecao> selecao)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null && !avi.FlagAndamento)
         {
             if (avi.Colaborador.MatrColaborador == Sessao.UsuarioMatricula)
             {
                 avi.AviPublico.Clear();
                 avi.InserirPublico(selecao);
             }
         }
     }
     return(Json("/institucional/agendar/" + codigo));
 }
예제 #8
0
        // GET: institucional/detalhe
        public ActionResult Detalhe(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
                if (avi != null)
                {
                    if (avi.Colaborador.Usuario.Matricula == Sessao.UsuarioMatricula)
                    {
                        return(View(avi));
                    }
                }
            }

            return(RedirectToAction("Historico"));
        }
예제 #9
0
        public ActionResult Agendar(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

                if (avi != null && !avi.FlagRealizada)
                {
                    if (avi.FlagPublico)
                    {
                        return(View(avi));
                    }
                    return(RedirectToAction("Publico", new { codigo = codigo }));
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #10
0
 // GET: institucional/realizar/AVI201520002
 public ActionResult Realizar(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
         if (avi != null && avi.FlagAndamento)
         {
             PessoaFisica pessoa = PessoaFisica.ListarPorMatricula(Sessao.UsuarioMatricula);
             if (avi.Pessoas.Contains(pessoa))
             {
                 var viewModel = new InstitucionalRealizarViewModel();
                 viewModel.Avi       = avi;
                 viewModel.Respostas = AviQuestaoPessoaResposta.ObterRespostasPessoa(avi, pessoa);
                 return(View(viewModel));
             }
         }
     }
     return(RedirectToAction("Andamento"));
 }
예제 #11
0
        public ActionResult Questionario(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);
                if (avi != null && !avi.FlagAndamento)
                {
                    ViewModels.InstitucionalGerarQuestaoViewModel model = new ViewModels.InstitucionalGerarQuestaoViewModel();
                    model.Modulos     = AviModulo.ListarOrdenadamente();
                    model.Categorias  = AviCategoria.ListarOrdenadamente();
                    model.Indicadores = AviIndicador.ListarOrdenadamente();
                    model.Tipos       = TipoQuestao.ListarOrdenadamente();
                    model.Avi         = avi;

                    return(View(model));
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #12
0
        public ActionResult Configurar(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

                if (avi != null && !avi.FlagAndamento)
                {
                    if (avi.FlagQuestionario)
                    {
                        return(View(avi));
                    }
                    else
                    {
                        return(RedirectToAction("Questionario", new { codigo = codigo }));
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #13
0
        public ActionResult Agendar(string codigo, FormCollection form)
        {
            if (!StringExt.IsNullOrWhiteSpace(codigo, form["txtDataInicio"], form["txtDataTermino"]))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

                if (avi != null && !avi.FlagRealizada)
                {
                    if (avi.Questoes.Count > 0)
                    {
                        avi.Avaliacao.DtAplicacao = DateTime.Parse(form["txtDataInicio"] + " 00:00", new CultureInfo("pt-BR"));
                        avi.DtTermino             = DateTime.Parse(form["txtDataTermino"] + " 23:59", new CultureInfo("pt-BR"));

                        Repositorio.Commit();
                        Lembrete.AdicionarNotificacao($"Avaliação Institucional agendada com sucesso.", Lembrete.POSITIVO);
                        return(RedirectToAction("Historico"));
                    }
                    return(RedirectToAction("Questionario", new { codigo = codigo }));
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #14
0
        public ActionResult EditarQuestao(string codigo, FormCollection form)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null && form.HasKeys())
            {
                int modulo    = int.Parse(Request.QueryString["modulo"]);
                int categoria = int.Parse(Request.QueryString["categoria"]);
                int indicador = int.Parse(Request.QueryString["indicador"]);
                int ordem     = int.Parse(Request.QueryString["ordem"]);

                AviQuestao questao = avi.ObterQuestao(modulo, categoria, indicador, ordem);

                if (questao != null)
                {
                    questao.Enunciado  = form["txtEditarEnunciado"];
                    questao.Observacao = !String.IsNullOrWhiteSpace(form["txtEditarObservacao"]) ? form["txtEditarObservacao"] : null;

                    int indice = 1;
                    while (!String.IsNullOrWhiteSpace(form["txtEditarAlternativa" + indice]))
                    {
                        AviQuestaoAlternativa alternativa = questao.AviQuestaoAlternativa.FirstOrDefault(a => a.CodAlternativa == indice);
                        alternativa.Enunciado = form["txtEditarAlternativa" + indice];
                        indice++;
                    }

                    if (!String.IsNullOrWhiteSpace(form["txtEditarAlternativaDiscursiva"]))
                    {
                        AviQuestaoAlternativa alternativa = questao.AviQuestaoAlternativa.FirstOrDefault(a => a.FlagAlternativaDiscursiva);
                        alternativa.Enunciado = form["txtEditarAlternativaDiscursiva"];
                    }

                    AviQuestao.Atualizar(questao);
                }
                return(Json(form));
            }
            return(Json(false));
        }
예제 #15
0
        public ActionResult Publico(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

                if (avi != null && !avi.FlagAndamento)
                {
                    if (avi.FlagQuestionario)
                    {
                        var viewModel = new InstitucionalPublicoViewModel();
                        viewModel.Avi          = avi;
                        viewModel.TiposPublico = AviTipoPublico.ListarOrdenadamente();
                        return(View(viewModel));
                    }
                    else
                    {
                        return(RedirectToAction("Questionario", new { codigo = codigo }));
                    }
                }
            }
            return(RedirectToAction("Index"));
        }
예제 #16
0
        public ActionResult RemoverQuestao(string codigo, int modulo, int categoria, int indicador, int ordem)
        {
            AvalAvi avi = AvalAvi.ListarPorCodigoAvaliacao(codigo);

            if (avi != null)
            {
                var questao = new AviQuestao();

                /* Chave */
                questao.Ano              = avi.Ano;
                questao.Semestre         = avi.Semestre;
                questao.CodTipoAvaliacao = avi.CodTipoAvaliacao;
                questao.NumIdentificador = avi.NumIdentificador;
                questao.CodAviModulo     = modulo;
                questao.CodAviCategoria  = categoria;
                questao.CodAviIndicador  = indicador;
                questao.CodOrdem         = ordem;

                AviQuestao.Remover(questao);
                return(Json(questao.CodOrdem));
            }
            return(Json(false));
        }