Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
        }