public void PodeCadastrarNovasCategorias() { IList<Assunto> listaCategorias = new List<Assunto>(); listaCategorias.Add(new Assunto() { Name = "Romantismo" }); listaCategorias.Add(new Assunto() { Name = "Neoclassicismo" }); listaCategorias.Add(new Assunto() { Name = "Cubismo" }); IQuizSetup serviceSetup = null; using (var contexto = new EFUnitOfWork(new GallerySMContext())) { var repositorio = new QuizRepositorio(contexto); serviceSetup = new QuizSetup(repositorio); serviceSetup.CriaNovasCategorias(listaCategorias); } listaCategorias = new List<Assunto>(); listaCategorias.Add(new Assunto() { Name = "Romantismo filha" }); listaCategorias.Add(new Assunto() { Name = "Neoclassicismo filha" }); listaCategorias.Add(new Assunto() { Name = "Cubismo filha" }); using (var contexto = new EFUnitOfWork(new GallerySMContext())) { var repositorio = new QuizRepositorio(contexto); var primeiraCategoria = repositorio.ListaCategoriasExistentes().Where(c => c.AssuntoId == 1).FirstOrDefault(); foreach (var c in listaCategorias) primeiraCategoria.ChildAssuntos.Add(c); contexto.Save(); } }
private bool CorrigeResposta(int quizId, int usuarioid, int perguntaId, int respostaId) { //repositórios UsuarioRepositorio repositorioUsuario = new UsuarioRepositorio(contexto); QuizRepositorio repositorio = new QuizRepositorio(contexto); //recupera usuário Usuario usuarioLocalizado = repositorioUsuario.BuscarUsuario(usuarioid); //recupera Quiz, a pergunta e a resposta proposta IQuizService serviceQuiz = new QuizService(repositorio); Quiz quizLocalizado = serviceQuiz.RecuperaQuiz(quizId); Pergunta perguntaLocalizada = quizLocalizado.Perguntas.First(p => p.PerguntaId == perguntaId); Resposta respostaLocalizada = perguntaLocalizada.PossiveisRespostas.First(r => r.RespostaId == respostaId); //corrige a resposta, gera e retorna o histórico HistoricoQuiz historico = quizLocalizado.Responder(usuarioLocalizado, perguntaLocalizada, respostaLocalizada); contexto.Save(); return historico.Acertou; }
public QuizModel Start(AssuntoModel assunto) { var repositorio = new QuizRepositorio(contexto); var quiz = repositorio.RecuperarPorCategoria(assunto.AssuntoId); return quiz.ToModel(); }
public IList<AssuntoModel> AssuntosDeQuizzesDisponiveisPara(UsuarioModel usuario) { var repositorioQuiz = new QuizRepositorio(contexto); var assuntos = repositorioQuiz.AssuntosDeQuizzesDisponiveisPara(usuario.UsuarioId); return assuntos.ToList().ToModel(); }
public void PodeCriarUmQuizComPerguntas() { using (var contexto = new EFUnitOfWork(new GallerySMContext())) { var repositorio = new QuizRepositorio(contexto); //IQuizService serviceQuiz = new QuizService(repositorio); IQuizSetup serviceSetup = new QuizSetup(repositorio); Assunto categoria = repositorio.ListaCategoriasExistentes().Where(c => c.AssuntoId == 14).FirstOrDefault(); IList<Resposta> possiveisRespostas = new List<Resposta>(); Quiz quiz = QuizFactory.CriaQuiz(categoria, "Primeiro quiz", DateTime.Now.AddDays(15), true); for (int j = 0; j < 10; j++) { var pergunta = quiz.AdicionaPergunta("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", Dificuldade.Basico); for (int i = 0; i <= 3; i++) pergunta.AdicionarResposta("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", false); pergunta.AdicionarResposta("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", true); } try { serviceSetup.Salva(quiz); } catch (Exception ex) { throw ((DbEntityValidationException)ex); } } }