public List <ConcursoDTO> GetConcursosPorProvas(int matricula, int idaplicacao, List <int> provas) { try { using (MiniProfiler.Current.Step("Obtendo concursos por provas")) { new Util.Log().SetLog(new LogMsPro { Matricula = matricula, IdApp = (Aplicacoes)idaplicacao, Tela = Util.Log.MsProLog_Tela.CIBusca, Acao = Util.Log.MsProLog_Acao.Abriu }); PerfilAlunoEntity Aluno = new PerfilAlunoEntity(); bool IsR3 = Aluno.IsAlunoR3(matricula); bool alunoInteresseR3 = IsR3 == false?Aluno.AlunoTemInteresseRMais(matricula) : false; using (var ctx = new DesenvContext()) { var concursos = (from c in ctx.tblConcurso join cp in ctx.tblConcurso_Provas on c.ID_CONCURSO equals cp.ID_CONCURSO join cpt in ctx.tblConcurso_Provas_Tipos on cp.intProvaTipoID equals cpt.intProvaTipoID where c.VL_ANO_CONCURSO >= 2008 && (cp.bitVendaLiberada.HasValue && cp.bitVendaLiberada.Value) && (alunoInteresseR3 || IsR3 || !cpt.txtDescription.ToUpper().Contains("R3")) && (provas.Contains(cp.intProvaID)) select new ConcursoDTO { Descricao = c.NM_CONCURSO, Sigla = c.SG_CONCURSO, SiglaEstado = c.CD_UF }) .Distinct() .OrderBy(x => x.Descricao) .ToList(); return(concursos); } } } catch (Exception) { throw; } }
public List <Exercicio> GetProvas(string siglaConcurso, int matricula) { try { using (MiniProfiler.Current.Step("Obtendo provas")) { var siglaRegularizada = Criptografia.ToRegularString(siglaConcurso); PerfilAlunoEntity Aluno = new PerfilAlunoEntity(); bool IsR3 = Aluno.IsAlunoR3(matricula); bool alunoInteresseR3 = IsR3 == false?Aluno.AlunoTemInteresseRMais(matricula) : false; using (var ctx = new DesenvContext()) { var concursos = (from c in ctx.tblConcurso join cp in ctx.tblConcurso_Provas on c.ID_CONCURSO equals cp.ID_CONCURSO join cpt in ctx.tblConcurso_Provas_Tipos on cp.intProvaTipoID equals cpt.intProvaTipoID where c.SG_CONCURSO == siglaRegularizada && c.VL_ANO_CONCURSO >= 2008 && (cp.bitVendaLiberada.HasValue && cp.bitVendaLiberada.Value) && (alunoInteresseR3 || IsR3 || !cpt.txtDescription.ToUpper().Contains("R3")) select new Exercicio { ExercicioName = c.SG_CONCURSO, Ano = (int)c.VL_ANO_CONCURSO, ID = cp.intProvaID, IdConcurso = c.ID_CONCURSO, TipoConcursoProva = cpt.txtDescription }) .ToList(); return(concursos); } } } catch { throw; } }
public List <Exercicio> GetAll(int matricula, int idaplicacao) { try { // ======================== LOG using (MiniProfiler.Current.Step("Obtendo estastisticas de uma questão")) { new Util.Log().SetLog(new LogMsPro { Matricula = matricula, IdApp = (Aplicacoes)idaplicacao, Tela = Util.Log.MsProLog_Tela.CIBusca, Acao = Util.Log.MsProLog_Acao.Abriu }); // ======================== // Alunos que não são R3 não podem ver concursos R3 PerfilAlunoEntity Aluno = new PerfilAlunoEntity(); bool IsR3 = Aluno.IsAlunoR3(matricula); bool alunoInteresseR3 = IsR3 == false?Aluno.AlunoTemInteresseRMais(matricula) : false; using (var ctx = new DesenvContext()) { var concursos = (from c in ctx.tblConcurso join cp in ctx.tblConcurso_Provas on c.ID_CONCURSO equals cp.ID_CONCURSO join cpt in ctx.tblConcurso_Provas_Tipos on cp.intProvaTipoID equals cpt.intProvaTipoID where c.VL_ANO_CONCURSO >= 2008 && (cp.bitVendaLiberada.HasValue && cp.bitVendaLiberada.Value) && (alunoInteresseR3 || IsR3 || !cpt.txtDescription.ToUpper().Contains("R3")) // OU o aluno é R3, ou ele não vê concursos cuja descrição contém R3. select new Exercicio { ExercicioName = c.SG_CONCURSO.Trim(), Descricao = c.NM_CONCURSO, Ano = (int)c.VL_ANO_CONCURSO, SiglaEstado = c.CD_UF, TipoConcursoProva = cpt.txtDescription, IdConcurso = c.ID_CONCURSO }).ToList(); var concursosProvas = concursos.Select(c => new Exercicio { ExercicioName = c.ExercicioName, Descricao = c.Descricao, Ano = c.Ano, SiglaEstado = c.SiglaEstado, TipoConcursoProva = c.TipoConcursoProva.IndexOf("ACESSO DIRETO") > -1 ? "ACESSO DIRETO" : c.TipoConcursoProva, Tipo = GetTipoConcurso(c.TipoConcursoProva), IdConcurso = c.IdConcurso }).Distinct() .OrderBy(x => x.ExercicioName) .ToList(); return(concursosProvas); } } } catch (Exception) { throw; } }