コード例 #1
0
        public ActionResult ContagemRegressiva(string codAvaliacao)
        {
            AvalCertificacao cert       = AvalCertificacao.ListarPorCodigoAvaliacao(codAvaliacao);
            string           tempo      = cert.Avaliacao.DtAplicacao.Value.ToLeftTimeString();
            int  quantidadeMilissegundo = 0;
            bool flagLiberada           = cert.Avaliacao.FlagLiberada && cert.Avaliacao.DtTermino > DateTime.Now;

            if (tempo != "Agora")
            {
                char tipo = tempo[(tempo.IndexOf(' ')) + 1];
                switch (tipo)
                {
                case 'd':
                    quantidadeMilissegundo = 0;
                    break;

                case 'h':
                    quantidadeMilissegundo = 1 * 60 * 60 * 1000;
                    break;

                case 'm':
                    quantidadeMilissegundo = 1 * 60 * 1000;
                    break;

                case 's':
                    quantidadeMilissegundo = 1 * 1000;
                    break;

                default:
                    break;
                }
            }
            return(Json(new { Tempo = tempo, Intervalo = quantidadeMilissegundo, FlagLiberada = flagLiberada }));
        }
コード例 #2
0
        public ActionResult CarregarRespostasDiscursivas(string codigo, string matrAluno)
        {
            if (!StringExt.IsNullOrWhiteSpace(codigo, matrAluno))
            {
                AvalCertificacao cert   = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                PessoaFisica     pessoa = PessoaFisica.ListarPorCodigo(int.Parse(matrAluno));
                int codPessoaFisica     = pessoa.CodPessoa;

                var retorno = from alunoResposta in cert.Avaliacao.PessoaResposta
                              orderby alunoResposta.CodQuestao
                              where alunoResposta.CodPessoaFisica == codPessoaFisica &&
                              alunoResposta.AvalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == TipoQuestao.DISCURSIVA
                              select new
                {
                    codQuestao           = alunoResposta.CodQuestao,
                    questaoEnunciado     = alunoResposta.AvalTemaQuestao.QuestaoTema.Questao.Enunciado,
                    questaoChaveResposta = alunoResposta.AvalTemaQuestao.QuestaoTema.Questao.ChaveDeResposta,
                    alunoResposta        = alunoResposta.RespDiscursiva,
                    notaObtida           = alunoResposta.RespNota.HasValue ? alunoResposta.RespNota.Value.ToValueHtml() : "",
                    correcaoComentario   = alunoResposta.ProfObservacao != null ? alunoResposta.ProfObservacao : "",
                    flagCorrigida        = alunoResposta.RespNota != null ? true : false
                };
                return(Json(retorno));
            }
            return(Json(null));
        }
コード例 #3
0
        public ActionResult CarregarRespostasPorQuestao(string codigo, string codQuestao)
        {
            if (!StringExt.IsNullOrWhiteSpace(codigo, codQuestao))
            {
                AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                int codQuestaoTemp    = int.Parse(codQuestao);

                var retorno = from questao in cert.Avaliacao.PessoaResposta
                              orderby questao.PessoaFisica.Nome
                              where questao.CodQuestao == codQuestaoTemp &&
                              questao.AvalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == TipoQuestao.DISCURSIVA
                              select new
                {
                    alunoMatricula       = cert.PessoasRealizaram.FirstOrDefault(a => a.CodPessoa == questao.CodPessoaFisica).CodPessoa,
                    alunoNome            = questao.PessoaFisica.Nome,
                    codQuestao           = questao.CodQuestao,
                    questaoEnunciado     = questao.AvalTemaQuestao.QuestaoTema.Questao.Enunciado,
                    questaoChaveResposta = questao.AvalTemaQuestao.QuestaoTema.Questao.ChaveDeResposta,
                    alunoResposta        = questao.RespDiscursiva,
                    notaObtida           = questao.RespNota.HasValue ? questao.RespNota.Value.ToValueHtml() : "",
                    correcaoComentario   = questao.ProfObservacao != null ? questao.ProfObservacao : "",
                    flagCorrigida        = questao.RespNota != null ? true : false
                };
                return(Json(retorno));
            }
            return(Json(null));
        }
コード例 #4
0
 public ActionResult Avaliados(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo) && !Sistema.AvaliacaoUsuario.ContainsKey(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert.Professor.MatrProfessor == Sessao.UsuarioMatricula)
         {
             return(View(cert));
         }
     }
     return(RedirectToAction("Index"));
 }
コード例 #5
0
 public ActionResult Acompanhar(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null && cert.Professor.MatrProfessor == Sessao.UsuarioMatricula && cert.Avaliacao.FlagAgendada && cert.Avaliacao.FlagAgora)
         {
             return(View(cert));
         }
     }
     return(RedirectToAction("Agendada", new { codigo = codigo }));
 }
コード例 #6
0
        public ActionResult Corrigir(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);

                if (cert != null && cert.Avaliacao.FlagCorrecaoPendente && cert.Professor.MatrProfessor == Sessao.UsuarioMatricula)
                {
                    return(View(cert));
                }
            }
            return(RedirectToAction("Index"));
        }
コード例 #7
0
        // GET: historico/avaliacao/certificacao/Detalhe/CERT201520001
        public ActionResult Detalhe(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                if (cert != null)
                {
                    return(View(cert));
                }
            }

            return(RedirectToAction("Index"));
        }
コード例 #8
0
 public ActionResult DetalheIndividual(string codigo, int pessoa)
 {
     if (!StringExt.IsNullOrWhiteSpace(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null)
         {
             AvalPessoaResultado model = cert.Avaliacao.AvalPessoaResultado.FirstOrDefault(r => r.CodPessoaFisica == pessoa);
             if (model != null)
             {
                 return(PartialView("_Individual", model));
             }
         }
     }
     return(null);
 }
コード例 #9
0
 public ActionResult CarregarAlunos(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         var retorno           = from a in cert.PessoasRealizaram
                                 select new
         {
             Matricula            = a.CodPessoa,
             Nome                 = a.Nome,
             FlagCorrecaoPendente = cert.Avaliacao.AvalPessoaResultado.Single(r => r.CodPessoaFisica == a.CodPessoa).FlagParcial
         };
         return(Json(retorno));
     }
     return(Json(null));
 }
コード例 #10
0
 public ActionResult CarregarQuestoes(string codigo, int[] temas, int dificuldade, int tipo)
 {
     if (!String.IsNullOrWhiteSpace(codigo) && temas.Length > 0 && dificuldade > 0 && tipo > 0)
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null)
         {
             List <Questao> questoes = Questao.ListarQuestoesFiltradas(cert.CodDisciplina, temas, dificuldade, tipo);
             if (questoes != null)
             {
                 return(PartialView("_ListaQuestaoCard", questoes));
             }
         }
     }
     return(null);
 }
コード例 #11
0
 public ActionResult Realizar(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert.Avaliacao.FlagPendente &&
             cert.Avaliacao.FlagLiberada &&
             cert.Avaliacao.FlagAgora &&
             cert.PessoaFisica.FirstOrDefault(p => p.CodPessoa == Usuario.ObterPessoaFisica(Sessao.UsuarioMatricula)) != null)
         {
             Sessao.Inserir("RealizandoAvaliacao", true);
             return(View(cert));
         }
     }
     return(RedirectToAction("Agendada", new { codigo = codigo }));
 }
コード例 #12
0
 public ActionResult Imprimir(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo) && !Sistema.AvaliacaoUsuario.ContainsKey(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null)
         {
             string    matricula = Sessao.UsuarioMatricula;
             Professor professor = Professor.ListarPorMatricula(matricula);
             if (professor.CodProfessor == cert.CodProfessor)
             {
                 return(View(cert));
             }
         }
     }
     return(RedirectToAction("Index"));
 }
コード例 #13
0
        public ActionResult Avaliados(string codigo, List <Selecao> selecao)
        {
            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                if (cert.Professor.MatrProfessor == Sessao.UsuarioMatricula)
                {
                    cert.PessoaFisica.Clear();
                    List <PessoaFisica> lstPessoaFisica = new List <PessoaFisica>();

                    foreach (var item in selecao)
                    {
                        switch (item.category)
                        {
                        case "Pessoa":
                            lstPessoaFisica.Add(PessoaFisica.ListarPorCodigo(int.Parse(item.id)));
                            break;

                        case "Turma":
                            lstPessoaFisica.AddRange(PessoaFisica.ListarPorTurma(item.id));
                            break;

                        case "Curso":
                            lstPessoaFisica.AddRange(PessoaFisica.ListarPorCurso(int.Parse(item.id)));
                            break;

                        case "Diretoria":
                            lstPessoaFisica.AddRange(PessoaFisica.ListarPorDiretoria(item.id));
                            break;

                        case "Campus":
                            lstPessoaFisica.AddRange(PessoaFisica.ListarPorCampus(item.id));
                            break;

                        default:
                            break;
                        }
                    }

                    cert.PessoaFisica = lstPessoaFisica.Distinct().ToList();
                    Repositorio.Commit();
                }
            }
            return(Json("/historico/avaliacao/certificacao/detalhe/" + codigo));
        }
コード例 #14
0
        public ActionResult Agendar(string codigo)
        {
            if (!String.IsNullOrWhiteSpace(codigo) && !Sistema.AvaliacaoUsuario.ContainsKey(codigo))
            {
                AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);

                if (cert.Professor.MatrProfessor == Sessao.UsuarioMatricula)
                {
                    var model = new AvaliacaoAgendarViewModel();

                    model.Avaliacao = cert.Avaliacao;
                    model.Salas     = Sala.ListarOrdenadamente();

                    return(View(model));
                }
            }
            return(RedirectToAction("Index"));
        }
コード例 #15
0
        public ActionResult Printar(string codAvaliacao, string imageData)
        {
            AvalCertificacao cert          = AvalCertificacao.ListarPorCodigoAvaliacao(codAvaliacao);
            bool             flagProfessor = cert.Professor.MatrProfessor == Sessao.UsuarioMatricula;

            if (!flagProfessor)
            {
                Sistema.TempDataUrlImage[codAvaliacao] = imageData;
                return(Json(true));
            }
            else if (flagProfessor)
            {
                string temp = Sistema.TempDataUrlImage[codAvaliacao];
                Sistema.TempDataUrlImage[codAvaliacao] = String.Empty;
                return(Json(temp));
            }
            return(Json(false));
        }
コード例 #16
0
 public ActionResult CarregarQuestoesDiscursivas(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         var retorno           = from questao in cert.Avaliacao.Questao
                                 where questao.CodTipoQuestao == TipoQuestao.DISCURSIVA
                                 orderby questao.CodQuestao
                                 select new
         {
             codQuestao           = questao.CodQuestao,
             questaoEnunciado     = questao.Enunciado,
             questaoChaveResposta = questao.ChaveDeResposta,
             flagCorrecaoPendente = cert.Avaliacao.PessoaResposta.Where(r => r.CodQuestao == questao.CodQuestao && !r.RespNota.HasValue).Count() > 0
         };
         return(Json(retorno));
     }
     return(Json(null));
 }
コード例 #17
0
        public ActionResult Agendar(string codigo, FormCollection form)
        {
            string strCodSala  = form["ddlSala"];
            string data        = form["txtData"];
            string horaInicio  = form["txtHoraInicio"];
            string horaTermino = form["txtHoraTermino"];

            if (!StringExt.IsNullOrWhiteSpace(strCodSala, data, horaInicio, horaTermino))
            {
                AvalCertificacao aval = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);

                string    matricula = Sessao.UsuarioMatricula;
                Professor professor = Professor.ListarPorMatricula(matricula);

                if (aval.CodProfessor == professor.CodProfessor)
                {
                    // Sala
                    int codSala;
                    int.TryParse(strCodSala, out codSala);
                    Sala sala = Sala.ListarPorCodigo(codSala);
                    if (sala != null)
                    {
                        aval.Sala = sala;
                    }

                    // Data de Aplicacao
                    DateTime dtAplicacao        = DateTime.Parse(data + " " + horaInicio, new CultureInfo("pt-BR"));
                    DateTime dtAplicacaoTermino = DateTime.Parse(data + " " + horaTermino, new CultureInfo("pt-BR"));

                    if (dtAplicacao.IsFuture() && dtAplicacaoTermino.IsFuture() && dtAplicacaoTermino > dtAplicacao)
                    {
                        aval.Avaliacao.DtAplicacao = dtAplicacao;
                        aval.Avaliacao.Duracao     = Convert.ToInt32((dtAplicacaoTermino - aval.Avaliacao.DtAplicacao.Value).TotalMinutes);
                    }

                    aval.Avaliacao.FlagLiberada = false;

                    Repositorio.Commit();
                }
            }

            return(RedirectToAction("Avaliados", new { codigo = codigo })); // Redirecionar para Pessoas
        }
コード例 #18
0
 public ActionResult Configurar(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo) && !Sistema.AvaliacaoUsuario.ContainsKey(codigo))
     {
         AvalCertificacao cert = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
         if (cert != null && !cert.Avaliacao.FlagRealizada)
         {
             Professor prof = Professor.ListarPorMatricula(Sessao.UsuarioMatricula);
             if (prof != null && prof.CodProfessor == cert.Professor.CodProfessor)
             {
                 var model = new CertificacaoConfigurarViewModel();
                 model.Avaliacao    = cert.Avaliacao;
                 model.Dificuldades = Dificuldade.ListarOrdenadamente();
                 model.TiposQuestao = TipoQuestao.ListarOrdenadamente();
                 return(View(model));
             }
         }
     }
     return(RedirectToAction("Index"));
 }
コード例 #19
0
        public void Desistir(string codigo)
        {
            int codPessoaFisica = Usuario.ObterPessoaFisica(Sessao.UsuarioMatricula);

            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalCertificacao aval = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                if (aval.PessoaFisica.FirstOrDefault(a => a.CodPessoa == codPessoaFisica) != null &&
                    aval.Avaliacao.AvalPessoaResultado.FirstOrDefault(a => a.CodPessoaFisica == codPessoaFisica) == null)
                {
                    var avalPessoaResultado = new AvalPessoaResultado();
                    avalPessoaResultado.CodPessoaFisica = codPessoaFisica;
                    avalPessoaResultado.HoraTermino     = DateTime.Now;
                    avalPessoaResultado.QteAcertoObj    = 0;
                    avalPessoaResultado.Nota            = 0;

                    foreach (var avaliacaoTema in aval.Avaliacao.AvaliacaoTema)
                    {
                        foreach (var avalTemaQuestao in avaliacaoTema.AvalTemaQuestao)
                        {
                            var avalQuesPessoaResposta = new AvalQuesPessoaResposta();
                            avalQuesPessoaResposta.CodPessoaFisica = codPessoaFisica;
                            if (avalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == 1)
                            {
                                avalQuesPessoaResposta.RespAlternativa = -1;
                            }
                            avalQuesPessoaResposta.RespNota = 0;
                            avalTemaQuestao.AvalQuesPessoaResposta.Add(avalQuesPessoaResposta);
                        }
                    }

                    aval.Avaliacao.AvalPessoaResultado.Add(avalPessoaResultado);

                    Repositorio.Commit();
                    Sessao.Inserir("RealizandoAvaliacao", false);
                }
            }
        }
コード例 #20
0
        public ActionResult Resultado(string codigo, FormCollection form)
        {
            int codPessoaFisica = Usuario.ObterPessoaFisica(Helpers.Sessao.UsuarioMatricula);

            if (!String.IsNullOrWhiteSpace(codigo))
            {
                AvalCertificacao aval = AvalCertificacao.ListarPorCodigoAvaliacao(codigo);
                if (aval.PessoaFisica.FirstOrDefault(a => a.CodPessoa == codPessoaFisica) != null &&
                    aval.Avaliacao.AvalPessoaResultado.FirstOrDefault(a => a.CodPessoaFisica == codPessoaFisica) == null)
                {
                    var avalPessoaResultado = new AvalPessoaResultado();
                    avalPessoaResultado.CodPessoaFisica = codPessoaFisica;
                    avalPessoaResultado.HoraTermino     = DateTime.Now;
                    avalPessoaResultado.QteAcertoObj    = 0;

                    double quantidadeObjetiva = 0;

                    foreach (var avaliacaoTema in aval.Avaliacao.AvaliacaoTema)
                    {
                        foreach (var avalTemaQuestao in avaliacaoTema.AvalTemaQuestao)
                        {
                            var avalQuesPessoaResposta = new AvalQuesPessoaResposta();
                            avalQuesPessoaResposta.CodPessoaFisica = codPessoaFisica;
                            if (avalTemaQuestao.QuestaoTema.Questao.CodTipoQuestao == TipoQuestao.OBJETIVA)
                            {
                                quantidadeObjetiva++;
                                int    respAlternativa    = -1;
                                string strRespAlternativa = form["rdoResposta" + avalTemaQuestao.QuestaoTema.Questao.CodQuestao];
                                if (!String.IsNullOrWhiteSpace(strRespAlternativa))
                                {
                                    int.TryParse(strRespAlternativa, out respAlternativa);
                                }
                                avalQuesPessoaResposta.RespAlternativa = respAlternativa;
                                if (avalTemaQuestao.QuestaoTema.Questao.Alternativa.First(q => q.FlagGabarito).CodOrdem == avalQuesPessoaResposta.RespAlternativa)
                                {
                                    avalQuesPessoaResposta.RespNota = 10;
                                    avalPessoaResultado.QteAcertoObj++;
                                }
                                else
                                {
                                    avalQuesPessoaResposta.RespNota = 0;
                                }
                            }
                            else
                            {
                                avalQuesPessoaResposta.RespDiscursiva = form["txtResposta" + avalTemaQuestao.QuestaoTema.Questao.CodQuestao].Trim();
                            }
                            avalQuesPessoaResposta.RespComentario = !String.IsNullOrWhiteSpace(form["txtComentario" + avalTemaQuestao.QuestaoTema.Questao.CodQuestao]) ? form["txtComentario" + avalTemaQuestao.QuestaoTema.Questao.CodQuestao].Trim() : null;
                            avalTemaQuestao.AvalQuesPessoaResposta.Add(avalQuesPessoaResposta);
                        }
                    }

                    IEnumerable <AvalQuesPessoaResposta> lstAvalQuesPessoaResposta = aval.Avaliacao.PessoaResposta.Where(r => r.CodPessoaFisica == codPessoaFisica);

                    avalPessoaResultado.Nota = lstAvalQuesPessoaResposta.Average(r => r.RespNota);
                    aval.Avaliacao.AvalPessoaResultado.Add(avalPessoaResultado);

                    Repositorio.Commit();

                    var model = new AvaliacaoResultadoViewModel();
                    model.Avaliacao   = aval.Avaliacao;
                    model.Porcentagem = (avalPessoaResultado.QteAcertoObj.Value / quantidadeObjetiva) * 100;

                    Sessao.Inserir("RealizandoAvaliacao", false);

                    return(View(model));
                }
                return(RedirectToAction("Detalhe", new { codigo = aval.Avaliacao.CodAvaliacao }));
            }
            return(RedirectToAction("Index"));
        }