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"]); } } }
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())); }