Exemple #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 }));
        }
Exemple #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));
        }
Exemple #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));
        }
Exemple #4
0
 public void RecuperarContadoresPrincipal(string matricula)
 {
     if (!string.IsNullOrWhiteSpace(matricula))
     {
         if (!UsuarioCache.ContainsKey(matricula))
         {
             UsuarioCache[matricula] = new Dictionary <string, object>();
         }
         if (!UsuarioCache[matricula].ContainsKey("principal"))
         {
             Dictionary <string, int> atalho = new Dictionary <string, int>();
             atalho.Add("autoavaliacao", AvalAuto.ListarNaoRealizadaPorPessoa(Sistema.UsuarioAtivo[matricula].Usuario.CodPessoaFisica).Count);
             if (Sistema.UsuarioAtivo[matricula].Usuario.CodCategoria == Categoria.PROFESSOR)
             {
                 int codProfessor = Models.Professor.ListarPorMatricula(matricula).CodProfessor;
                 var lst          = AvalAcademica.ListarCorrecaoPendentePorProfessor(codProfessor).Select(a => a.Avaliacao);
                 lst = lst.Union(AvalCertificacao.ListarCorrecaoPendentePorProfessor(codProfessor).Select(a => a.Avaliacao));
                 lst = lst.Union(AvalAcadReposicao.ListarCorrecaoPendentePorProfessor(codProfessor).Select(a => a.Avaliacao));
                 atalho.Add("correcao", lst.Count());
             }
             UsuarioCache[matricula]["principal"] = atalho;
         }
         if (Context != null)
         {
             Clients.Client(Context.ConnectionId).receberContadores(UsuarioCache[matricula]["principal"]);
         }
     }
 }
Exemple #5
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"));
 }
Exemple #6
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 }));
 }
Exemple #7
0
 public ActionResult Agendada(string codigo)
 {
     if (!String.IsNullOrWhiteSpace(codigo))
     {
         Usuario          usuario = Usuario.ListarPorMatricula(Sessao.UsuarioMatricula);
         AvalCertificacao cert    = AvalCertificacao.ListarAgendadaPorUsuario(usuario).FirstOrDefault(a => a.Avaliacao.CodAvaliacao.ToLower() == codigo.ToLower());
         if (cert != null && cert.PessoaFisica.Count > 0)
         {
             return(View(cert));
         }
     }
     return(RedirectToAction("Detalhe", new { codigo = codigo }));
 }
Exemple #8
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"));
        }
Exemple #9
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"));
        }
Exemple #10
0
        public ActionResult CorrigirQuestaoAluno(string codigo, string matrAluno, string codQuestao, string notaObtida, string profObservacao)
        {
            if (!StringExt.IsNullOrWhiteSpace(codigo, matrAluno, codQuestao))
            {
                int    codQuesTemp = int.Parse(codQuestao);
                double nota        = Double.Parse(notaObtida.Replace('.', ','));

                bool retorno = AvalCertificacao.CorrigirQuestaoAluno(codigo, matrAluno, codQuesTemp, nota, profObservacao);

                return(Json(retorno));
            }
            return(Json(false));
        }
        public ActionResult Pendente()
        {
            int codProfessor = Professor.ListarPorMatricula(Sessao.UsuarioMatricula).CodProfessor;

            IEnumerable <Avaliacao> avaliacoes = AvalAcademica.ListarCorrecaoPendentePorProfessor(codProfessor)
                                                 .Select(a => a.Avaliacao);

            avaliacoes = avaliacoes.Union(AvalCertificacao.ListarCorrecaoPendentePorProfessor(codProfessor)
                                          .Select(a => a.Avaliacao));
            avaliacoes = avaliacoes.Union(AvalAcadReposicao.ListarCorrecaoPendentePorProfessor(codProfessor)
                                          .Select(a => a.Avaliacao));

            return(View(avaliacoes.OrderBy(a => a.DtAplicacao).ToList()));
        }
Exemple #12
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 }));
 }
Exemple #13
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));
 }
Exemple #14
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);
 }
Exemple #15
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);
 }
Exemple #16
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"));
 }
Exemple #17
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));
        }
Exemple #18
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"));
        }
Exemple #19
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));
        }
Exemple #20
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));
 }
Exemple #21
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
        }
Exemple #22
0
        public ActionResult Certificacoes(string start, string end)
        {
            DateTime inicio  = DateTime.Parse(start);
            DateTime termino = DateTime.Parse(end);

            Usuario usuario = Sistema.UsuarioAtivo[Sessao.UsuarioMatricula].Usuario;
            List <AvalCertificacao> lstAgendadas = AvalCertificacao.ListarAgendadaPorUsuario(usuario, inicio, termino);

            IEnumerable <Evento> retorno = lstAgendadas.Select(a => new Evento
            {
                id    = a.Avaliacao.CodAvaliacao,
                title = a.Avaliacao.CodAvaliacao,
                start = a.Avaliacao.DtAplicacao.Value.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"),
                end   = a.Avaliacao.DtTermino.Value.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"),
                url   = Url.Action("Agendada", "Certificacao", new { codigo = a.Avaliacao.CodAvaliacao })
            });

            return(Json(retorno));
        }
Exemple #23
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"));
 }
Exemple #24
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);
                }
            }
        }
Exemple #25
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 }));
        }
Exemple #26
0
        public void RecuperarLembretes(string matricula)
        {
            if (!string.IsNullOrWhiteSpace(matricula))
            {
                if (!UsuarioLembreteVisualizado.ContainsKey(matricula))
                {
                    UsuarioLembreteVisualizado[matricula] = new List <string>();
                }

                if (!UsuarioLembrete.ContainsKey(matricula))
                {
                    UsuarioLembrete[matricula] = new Dictionary <string, object>();
                }

                Usuario usuario = Sistema.UsuarioAtivo[matricula].Usuario;
                if (!UsuarioLembreteVisualizado[matricula].Contains(LEMBRETE_INSTITUCIONAL))
                {
                    if (!UsuarioLembrete[matricula].ContainsKey(LEMBRETE_INSTITUCIONAL))
                    {
                        if (AvalAvi.ListarPorUsuario(usuario.Matricula).Count > 0)
                        {
                            UsuarioLembrete[matricula][LEMBRETE_INSTITUCIONAL] = new Dictionary <string, string>()
                            {
                                { "Id", LEMBRETE_INSTITUCIONAL },
                                { "Mensagem", "Há Av. Institucionais em andamento no momento." },
                                { "Botao", "Visualizar" },
                                { "Url", "/institucional/andamento" }
                            };
                        }
                    }
                }
                if (!UsuarioLembreteVisualizado[matricula].Contains(LEMBRETE_ACADEMICA))
                {
                    if (!UsuarioLembrete[matricula].ContainsKey(LEMBRETE_ACADEMICA))
                    {
                        if (AvalAcademica.ListarAgendadaPorUsuario(usuario, DateTime.Now, DateTime.Now.AddHours(24)).Count > 0)
                        {
                            UsuarioLembrete[matricula][LEMBRETE_ACADEMICA] = new Dictionary <string, string>()
                            {
                                { "Id", LEMBRETE_ACADEMICA },
                                { "Mensagem", "Há Avaliações Acadêmicas agendadas para as próximas 24 horas." },
                                { "Botao", "Visualizar" },
                                { "Url", "/principal/agenda" }
                            };
                        }
                    }
                }
                if (!UsuarioLembreteVisualizado[matricula].Contains(LEMBRETE_CERTIFICACAO))
                {
                    if (!UsuarioLembrete[matricula].ContainsKey(LEMBRETE_CERTIFICACAO))
                    {
                        if (AvalCertificacao.ListarAgendadaPorUsuario(usuario, DateTime.Now, DateTime.Now.AddHours(24)).Count > 0)
                        {
                            UsuarioLembrete[matricula][LEMBRETE_CERTIFICACAO] = new Dictionary <string, string>()
                            {
                                { "Id", LEMBRETE_CERTIFICACAO },
                                { "Mensagem", "Há Avaliações de Certificações agendadas para as próximas 24 horas." },
                                { "Botao", "Visualizar" },
                                { "Url", "/principal/agenda" }
                            };
                        }
                    }
                }
                if (!UsuarioLembreteVisualizado[matricula].Contains(LEMBRETE_REPOSICAO))
                {
                    if (!UsuarioLembrete[matricula].ContainsKey(LEMBRETE_REPOSICAO))
                    {
                        if (AvalAcadReposicao.ListarAgendadaPorUsuario(usuario, DateTime.Now, DateTime.Now.AddHours(24)).Count > 0)
                        {
                            UsuarioLembrete[matricula][LEMBRETE_REPOSICAO] = new Dictionary <string, string>()
                            {
                                { "Id", LEMBRETE_REPOSICAO },
                                { "Mensagem", "Há Reposições agendadas para as próximas 24 horas." },
                                { "Botao", "Visualizar" },
                                { "Url", "/principal/agenda" }
                            };
                        }
                    }
                }
                if (Context != null)
                {
                    Clients.Client(Context.ConnectionId).receberLembretes(UsuarioLembrete[matricula]);
                }
            }
        }
Exemple #27
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"));
        }