public FiltrosAluno GetProvasAluno(int matricula, int idAplicacao) { // ======================== LOG new Util.Log().SetLog(new LogMsPro { Matricula = matricula, IdApp = (Aplicacoes)idAplicacao, Tela = Util.Log.MsProLog_Tela.MinhasProvas, Acao = Util.Log.MsProLog_Acao.Abriu }); // ======================== List <FiltroAluno> listaFiltros; using (var ctx = new DesenvContext()) { listaFiltros = ctx.tblFiltroAluno_MontaProva.Where(x => x.intClientId == matricula && (bool)x.bitAtivo).Select(x => new FiltroAluno() { Anos = x.txtAnos, Concursos = x.txtConcursos, Criacao = x.dteDataCriacao, FiltrosEspeciais = x.txtFiltrosEspeciais, Especialidades = x.txtEspecialidades, Matricula = x.intClientId, PalavraChave = x.txtPalavraChave, Id = x.intID, Nome = x.txtNome }).OrderByDescending(x => x.Id).ToList(); } var provasContadorQuestoes = _montaProvasRepository.ObterContadorDeQuestoes(matricula); var filtrosAluno = new FiltrosAluno(); filtrosAluno.AddRange(listaFiltros); filtrosAluno.ForEach(x => { x.ProvasAluno = GetProvasFiltroContador(provasContadorQuestoes, matricula, x.Id); x.QuantidadeQuestoesNaoAssociadas = _montaProvasRepository.GetQuantidadeQuestoesNaoAssociadas(x.Id); x.QuantidadeQuestoesAssociadas = _montaProvasRepository.GetQuantidadeQuestoesFiltro(x.Id); }); return(filtrosAluno); }
public FiltrosAluno GetProvasAlunoNovo(int matricula, int idAplicacao, int page, int limit) { using (MiniProfiler.Current.Step("Obtendo provas aluno novo")) { // ======================== LOG new Util.Log().SetLog(new LogMsPro { Matricula = matricula, IdApp = (Aplicacoes)idAplicacao, Tela = Util.Log.MsProLog_Tela.MinhasProvas, Acao = Util.Log.MsProLog_Acao.Abriu }); // ======================== List <FiltroAluno> listaFiltros = _montaProvasRepository.GetFiltrosAluno(matricula, page, limit); var provasContadorQuestoes = _montaProvasRepository.ObterContadorDeQuestoes(matricula); var filtrosAluno = new FiltrosAluno(); filtrosAluno.AddRange(listaFiltros); filtrosAluno.ForEach(x => { int qtdQuestoesNaoAssociadas = _montaProvasRepository.GetQuantidadeQuestoesNaoAssociadas(x.Id); int qtdQuestoesFiltro = _montaProvasRepository.GetQuantidadeQuestoesFiltro(x.Id); int qtdQuestoes = x.QuantidadeQuestoesOrNull.HasValue ? x.QuantidadeQuestoesOrNull.Value : qtdQuestoesFiltro; x.QuantidadeQuestoes = qtdQuestoes; x.ProvasAluno = GetProvasFiltroContador(provasContadorQuestoes, matricula, x.Id); x.QuantidadeQuestoesAssociadas = qtdQuestoes; qtdQuestoesNaoAssociadas = x.QuantidadeQuestoesOrNull.HasValue ? qtdQuestoes - qtdQuestoesFiltro : qtdQuestoesNaoAssociadas; x.QuantidadeQuestoesNaoAssociadas = qtdQuestoesNaoAssociadas; }); return(filtrosAluno); } }