public void PreencherCampos(Usuario usuario) { if (usuario != null) { using (var manterTurma = new ManterTurmaProfessor()) { var cursos = manterTurma.ObterTurmaProfessorPorProfessor(usuario.ID); txtSemTurmas.Visible = cursos.Count() > 0 ? false : true; dgvTutorias.DataSource = cursos; dgvTutorias.DataBind(); } } }
public IQueryable <Oferta> ListaOferta(DTOFiltroRelatorioQuestionario filtro) { if (filtro.IdSolucaoEducacional == null) { return(null); } if (filtro.IsRelatorioTutor) { if (filtro.IdProfessor == null) { return(null); } // Obtém os ids das Ofertas da SE informada que possuem o professor informado e que possuam turmas com questionários pós de pesquisa. var ofertas = new ManterTurmaProfessor().ObterTurmaProfessorPorProfessor(filtro.IdProfessor.Value).Where(x => x.Turma.Oferta.SolucaoEducacional.ID == filtro.IdSolucaoEducacional.Value && x.Turma.ListaQuestionarioAssociacao.Any( qa => qa.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos && qa.Questionario.TipoQuestionario.ID == (int)enumTipoQuestionario.Pesquisa)) .Select(x => x.Turma.Oferta.ID) .Distinct() .ToList(); // Tem que consultar novamente porque o Distinct não funciona acima porque a tabela possui campo text, que não pode ser distinguível. return(new ManterOferta().ObterTodasOfertas().Where(x => ofertas.Contains(x.ID))); } var retorno = new ManterOferta().ObterOfertaPorSolucaoEducacional(new SolucaoEducacional { ID = filtro.IdSolucaoEducacional.Value }); if (filtro.IdQuestionario > 0) { retorno = retorno.Where(x => x.ListaTurma.Any(t => t.ListaQuestionarioAssociacao.Any(q => q.Questionario.ID == filtro.IdQuestionario))); } return(retorno.Where(x => x.ListaTurma.Any(t => t.ListaQuestionarioAssociacao.Any())).OrderBy(x => x.Nome).AsQueryable()); }
public IQueryable <Usuario> ListaProfessor() { //Obter professores de turmas que possuam questionários pós de pesquisa. var profs = new ManterTurmaProfessor().ObterTodos().Where(x => x.Turma.ListaQuestionarioAssociacao.Any( qa => qa.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos && qa.Questionario.TipoQuestionario.ID == (int)enumTipoQuestionario.Pesquisa)) .Select(x => x.Professor.ID) .Distinct(); return(new ManterUsuario().ObterTodos().OrderBy(x => x.Nome).Where(x => profs.Contains(x.ID))); }
public IQueryable <SolucaoEducacional> ListaSolucaoEducacionalPorProfessor(DTOFiltroRelatorioQuestionario filtro) { if (filtro.IdProfessor == null) { return(null); } // Obtém os ids das SEs que possuem o professor informado e que possuam turmas com questionários pós de pesquisa. var ses = new ManterTurmaProfessor().ObterTurmaProfessorPorProfessor(filtro.IdProfessor.Value).Where(x => x.Turma.ListaQuestionarioAssociacao.Any( qa => qa.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos && qa.Questionario.TipoQuestionario.ID == (int)enumTipoQuestionario.Pesquisa)) .Select(x => x.Turma.Oferta.SolucaoEducacional.ID) .Distinct() .ToList(); // Tem que consultar novamente porque o Distinct não funciona acima porque a tabela possui campo text, que não pode ser distinguível. return(new ManterSolucaoEducacional().ObterTodosSolucaoEducacional().Where(x => ses.Contains(x.ID))); }
public IQueryable <Turma> ListaTurma(DTOFiltroRelatorioQuestionario filtro) { if (filtro.IdOferta == null) { return(null); } if (filtro.IsRelatorioTutor) { if (filtro.IdProfessor == null) { return(null); } // Obtém os ids das Turmas da Oferta informada que possuem o professor informado e que possuam turmas com questionários pós de pesquisa. var turmas = new ManterTurmaProfessor().ObterTurmaProfessorPorProfessor(filtro.IdProfessor.Value).Where(x => x.Turma.Oferta.ID == filtro.IdOferta.Value && x.Turma.ListaQuestionarioAssociacao.Any( qa => qa.TipoQuestionarioAssociacao.ID == (int)enumTipoQuestionarioAssociacao.Pos && qa.Questionario.TipoQuestionario.ID == (int)enumTipoQuestionario.Pesquisa)) .Select(x => x.Turma.ID) .Distinct() .ToList(); // Tem que consultar novamente porque o Distinct não funciona acima porque a tabela possui campo text, que não pode ser distinguível. return(new ManterTurma().ObterTodasTurma().Where(x => turmas.Contains(x.ID)).OrderBy(x => x.Nome).AsQueryable()); } return(new ManterTurma().ObterTurmasPorOferta(filtro.IdOferta.Value, false)); }
protected void btnVerificar_Click(object sender, EventArgs e) { if (Page.IsValid) { try { var codigo = txtCodigo.Text.Trim(); if (!string.IsNullOrWhiteSpace(codigo)) { dynamic objetoCertificado = new ExpandoObject(); // Caso seja certificado de tutor, fazer as verificações. if (codigo.Length < 32 && codigo.StartsWith("cr")) { var verificarCertificado = new ManterCertificadoTemplate().VerificarCertificadoTutor(codigo); if (verificarCertificado.Valido) { var turmaProfessor = new ManterTurmaProfessor().ObterTurmaProfessorPorTurma(verificarCertificado.IdTurma) .FirstOrDefault(x => x.Professor.ID == verificarCertificado.IdProfessor); if (turmaProfessor != null) { objetoCertificado.Nome = turmaProfessor.Professor.Nome; if (turmaProfessor.Turma.DataFinal.HasValue) { objetoCertificado.DataGeracao = turmaProfessor.Turma.DataFinal.Value.ToString("dd/MM/yyyy"); } objetoCertificado.Curso = turmaProfessor.Turma.Oferta.SolucaoEducacional.Nome; objetoCertificado.Tipo = "Declaração de tutoria"; } } } else { var manterMatriculaOferta = new ManterMatriculaOferta(); var buscaMatOferta = manterMatriculaOferta.ObterPorCodigoCertificado(codigo); if (buscaMatOferta != null) { objetoCertificado.Nome = buscaMatOferta.Usuario.Nome; if (buscaMatOferta.DataGeracaoCertificado != null) { objetoCertificado.DataGeracao = buscaMatOferta.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy"); } objetoCertificado.Curso = buscaMatOferta.Oferta.SolucaoEducacional.Nome; objetoCertificado.Tipo = "Curso Regular"; } else { var manterUsuarioTrilha = new ManterUsuarioTrilha(); var buscaUsuarioTrilha = manterUsuarioTrilha.ObterPorCodigoCertificao(codigo); if (buscaUsuarioTrilha != null) { objetoCertificado.Nome = buscaUsuarioTrilha.Usuario.Nome; objetoCertificado.Curso = buscaUsuarioTrilha.TrilhaNivel.Trilha.Nome; objetoCertificado.Tipo = "Trilha"; if (buscaUsuarioTrilha.DataGeracaoCertificado != null) { objetoCertificado.DataGeracao = buscaUsuarioTrilha.DataGeracaoCertificado.Value.ToString("dd/MM/yyyy"); } } } } // Fazer output da validação do certificado a partir do objeto anônimo. if (((IDictionary <string, object>)objetoCertificado).ContainsKey("Nome")) { LimparPnlNaoEncontrado(); pnlResultadoVerificacao.Visible = true; lblResultado.Text = "O código informado pertence a um certificado válido."; lblNome.Text = objetoCertificado.Nome; lblCurso.Text = objetoCertificado.Curso; lblTipo.Text = objetoCertificado.Tipo; if (objetoCertificado.DataGeracao != null) { lblDataGeracao.Text = objetoCertificado.DataGeracao; } } else { LimparPnlResultado(); pnlNaoEncontrado.Visible = true; lblNaoEncontrado.Text = "O código informado não pertence a nenhum certificado válido."; } } else { LimparPnlNaoEncontrado(); LimparPnlResultado(); WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, "Informe o código do certificado."); } } catch (AcademicoException ex) { WebFormHelper.ExibirMensagem(enumTipoMensagem.Erro, ex.Message); } } }