Esempio n. 1
0
        public ActionResult Pergunta()
        {
            _repositorio          = new MeusCursosRepositorio();
            _repositorioResultado = new ResultadosRespositorio();
            _repositorioAtividade = new AtividadesRepositorio();
            _repositorioOpcao     = new OpcoesRepositorio();

            TempData.Keep("id_atividade");
            TempData.Keep("id_inscricao");
            TempData.Keep("id_resultado");

            int id_atividade = Convert.ToInt32(TempData["id_atividade"]);
            int id_resultado = Convert.ToInt32(TempData["id_resultado"]);
            int id_inscricao = Convert.ToInt32(TempData["id_inscricao"]);

            //Mostra a primeira pergunta
            AtividadeViewModel atividade = new AtividadeViewModel();

            atividade.Id             = _repositorioAtividade.RetornaAtividadesPorId(id_atividade).Id_atividade;
            atividade.Nome_atividade = _repositorioAtividade.RetornaAtividadesPorId(id_atividade).Titulo;
            atividade.ListaQuestoes  = _repositorio.BuscaQuestoesAtividade(id_atividade, id_resultado);
            atividade.IdResultado    = id_resultado;
            atividade.IdInscricao    = id_inscricao;
            atividade.ListaOpcoes    = _repositorioOpcao.ListaOpcoesPorAtividade(id_atividade);

            //Já respondeu todas as questões então verifica se pode fechar a avaliação
            if (atividade.ListaQuestoes.Count == 0)
            {
                List <Resultado> listaresultados1 = _repositorioResultado.ListaResultados(id_inscricao, id_atividade);
                //Verifica se o resultado não foi ainda finalizado
                if (listaresultados1[0].finalizado == false)
                {
                    //Finaliza o resultado
                    _repositorio.FinalizaResultado(listaresultados1[0].Id_resultado);
                }
            }

            return(PartialView(atividade));
        }
Esempio n. 2
0
        //Realizar a atividade uma questão por vez
        public ActionResult RealizarAtividade(int id_atividade, int id_inscricao)
        {
            _repositorio          = new MeusCursosRepositorio();
            _repositorioResultado = new ResultadosRespositorio();
            _repositorioAtividade = new AtividadesRepositorio();
            _repositorioOpcao     = new OpcoesRepositorio();

            TempData["id_atividade"] = id_atividade;
            TempData["id_inscricao"] = id_inscricao;


            //Verifica se ja existe o registro em Resultados
            //Se não existir adiciona o registro

            List <Resultado> listaresultados = _repositorioResultado.ListaResultados(id_inscricao, id_atividade);

            if (listaresultados.Count > 0)
            {
                if (listaresultados[0].finalizado)
                {
                    //Ativide ja foi finalizada exibe uma mensagem
                }
            }
            else
            {
                Resultado resultado = new Resultado();
                resultado.Id_inscricao = id_inscricao;
                resultado.Id_atividade = id_atividade;
                resultado.Data         = DateTime.Now;

                _repositorioResultado.Salvar(resultado);
                //Gravar resultado
            }

            //Retorna o id_resultado dessa atividade
            int id_resultado = _repositorioResultado.RetornaResultado(id_inscricao, id_atividade);

            TempData["id_resultado"] = id_resultado;


            TempData.Keep("id_atividade");
            TempData.Keep("id_inscricao");
            TempData.Keep("id_resultado");

            //Mostra a primeira pergunta disponível
            AtividadeViewModel atividade = new AtividadeViewModel();

            atividade.Id             = _repositorioAtividade.RetornaAtividadesPorId(id_atividade).Id_atividade;
            atividade.Nome_atividade = _repositorioAtividade.RetornaAtividadesPorId(id_atividade).Titulo;
            atividade.ListaQuestoes  = _repositorio.BuscaQuestoesAtividade(id_atividade, id_resultado);
            atividade.IdResultado    = id_resultado;
            atividade.IdInscricao    = id_inscricao;
            atividade.ListaOpcoes    = _repositorioOpcao.ListaOpcoesPorAtividade(id_atividade);

            //Já respondeu todas as questões então verifica se pode fechar a avaliação
            if (atividade.ListaQuestoes.Count == 0)
            {
                List <Resultado> listaresultados1 = _repositorioResultado.ListaResultados(id_inscricao, id_atividade);
                //Verifica se o resultado não foi ainda finalizado
                if (listaresultados1[0].finalizado == false)
                {
                    //Finaliza o resultado
                    _repositorio.FinalizaResultado(listaresultados1[0].Id_resultado);
                }
            }

            return(PartialView(atividade));
        }