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)); }
//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)); }