public ProvasAluno GetProvasFiltro(int matricula, int idFiltro) { try { var prvsAluno = new ProvasAluno(); var provasAluno = _montaProvasRepository.ObterProvasAluno(idFiltro); foreach (var prova in provasAluno) { prova.DataCriacao = Utilidades.DateTimeToUnixTimestamp(prova.Criacao); //var questoes = _montaProvasRepository.ObterQuestoesMontaProva(prova); var questoes = _montaProvasRepository.GetQuestoesProva(prova); prova.QuantidadeQuestoes = questoes.Count(); var questoesSimulado = ObterProvaSimulado(matricula, questoes); var questoesConcurso = ObterProvaConcurso(matricula, questoes); prova.NaoRealizadas = questoesSimulado.NaoRealizadas + questoesConcurso.NaoRealizadas; prova.Acertos = questoesSimulado.Acertos + questoesConcurso.Acertos; prova.Erros = questoesSimulado.Erros + questoesConcurso.Erros; } prvsAluno.AddRange(provasAluno); return(prvsAluno); } catch { throw; } }
public ProvasAluno GetProvasFiltroContador(List <ProvaAluno> provasContadorQuestoes, int matricula, int idFiltro) { try { using (MiniProfiler.Current.Step("Obtendo provas filtro contador")) { var retorno = new ProvasAluno(); var provasAluno = _montaProvasRepository.ObterProvasAluno(idFiltro); foreach (var prova in provasAluno) { prova.DataCriacao = Utilidades.DateTimeToUnixTimestamp(prova.Criacao); var contador = provasContadorQuestoes.Where(c => (c.ID == prova.ID)).FirstOrDefault(); if (contador != null) { prova.QuantidadeQuestoes = contador.QuantidadeQuestoes; prova.NaoRealizadas = contador.NaoRealizadas; prova.Acertos = contador.Acertos; prova.Erros = contador.Erros; } else { var questoes = _montaProvasRepository.GetQuestoesProva(prova); prova.QuantidadeQuestoes = questoes.Count(); var questoesSimulado = ObterProvaSimulado(matricula, questoes); var questoesConcurso = ObterProvaConcurso(matricula, questoes); prova.NaoRealizadas = questoesSimulado.NaoRealizadas + questoesConcurso.NaoRealizadas; prova.Acertos = questoesSimulado.Acertos + questoesConcurso.Acertos; prova.Erros = questoesSimulado.Erros + questoesConcurso.Erros; _montaProvasRepository.InserirContadorDeQuestoes(prova, matricula); } } retorno.AddRange(provasAluno); return(retorno); } } catch { throw; } }
public static List <FiltroAluno> GetFiltrosAluno() { List <FiltroAluno> filtrosAluno = new List <FiltroAluno>(); ProvasAluno ps1 = new ProvasAluno(); ProvaAluno p1 = new ProvaAluno() { ID = 1, Acertos = 0, DataCriacao = 1557155050.817, Erros = 0, NaoRealizadas = 100, QuantidadeQuestoes = 100 }; ps1.Add(p1); FiltroAluno f1 = new FiltroAluno() { Anos = "Últimos 5 anos", Concursos = "ABC, AFAMCI, AMP", Criacao = DateTime.Now, DataCriacao = 0, Especialidades = "Todas Selecionadas", FiltrosEspeciais = "Somente Impressas", Id = 1, JsonFiltro = null, Matricula = 241779, Nome = "Teste", PalavraChave = "", ProvasAluno = ps1, QuantidadeQuestoes = 203, QuantidadeQuestoesAssociadas = 203, QuantidadeQuestoesNaoAssociadas = 103, QuantidadeQuestoesOrNull = 203 }; filtrosAluno.Add(f1); ProvasAluno ps2 = new ProvasAluno(); ProvaAluno p2 = new ProvaAluno() { ID = 1, Acertos = 0, DataCriacao = 1557153824.483, Erros = 1, NaoRealizadas = 99, QuantidadeQuestoes = 100 }; ps2.Add(p2); FiltroAluno f2 = new FiltroAluno() { Anos = "Todas Selecionadas", Concursos = "Todas Selecionadas", Criacao = DateTime.Now, DataCriacao = 0, Especialidades = "Todas Selecionadas", FiltrosEspeciais = "Todas Selecionadas", Id = 1, JsonFiltro = null, Matricula = 241779, Nome = "Teste1", PalavraChave = "", ProvasAluno = ps2, QuantidadeQuestoes = 114052, QuantidadeQuestoesAssociadas = 114052, QuantidadeQuestoesNaoAssociadas = 113952, QuantidadeQuestoesOrNull = 114052 }; filtrosAluno.Add(f2); ProvasAluno ps3 = new ProvasAluno(); ProvaAluno p3 = new ProvaAluno() { ID = 1, Acertos = 11, DataCriacao = 1547307498.437, Erros = 17, NaoRealizadas = 3472, QuantidadeQuestoes = 3500 }; ps3.Add(p3); FiltroAluno f3 = new FiltroAluno() { Anos = "Todas Selecionadas", Concursos = "Todas Selecionadas", Criacao = DateTime.Now, DataCriacao = 0, Especialidades = "CIRURGIA GERAL", FiltrosEspeciais = "Todas Selecionadas", Id = 1, JsonFiltro = null, Matricula = 241779, Nome = "Valeu passei teste", PalavraChave = "", ProvasAluno = ps3, QuantidadeQuestoes = 18536, QuantidadeQuestoesAssociadas = 18536, QuantidadeQuestoesNaoAssociadas = 15036, QuantidadeQuestoesOrNull = 18536 }; filtrosAluno.Add(f3); ProvasAluno ps4 = new ProvasAluno(); ProvaAluno p4 = new ProvaAluno() { ID = 1, Acertos = 3, DataCriacao = 1546719000.207, Erros = 0, NaoRealizadas = 97, QuantidadeQuestoes = 100 }; ps4.Add(p4); FiltroAluno f4 = new FiltroAluno() { Anos = "Últimos 2 anos", Concursos = "Todas Selecionadas", Criacao = DateTime.Now, DataCriacao = 0, Especialidades = "CIRURGIA GERAL", FiltrosEspeciais = "Todas Selecionadas", Id = 1, JsonFiltro = null, Matricula = 241779, Nome = "Teste Petrus", PalavraChave = "", ProvasAluno = ps4, QuantidadeQuestoes = 3808, QuantidadeQuestoesAssociadas = 3808, QuantidadeQuestoesNaoAssociadas = 3708, QuantidadeQuestoesOrNull = 3808 }; filtrosAluno.Add(f4); return(filtrosAluno); }