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(); } }
public void CriaNovoQuiz(QuizModel quizModel) { using (_contexto = new EFUnitOfWork(new GallerySMContext())) { _repositorio = new QuizRepositorio(_contexto); IQuizSetup serviceSetup = new QuizSetup(_repositorio); Assunto categoria = _repositorio.ListaCategoriasExistentes().Where(c => c.AssuntoId == quizModel.CategoriaId).FirstOrDefault(); Quiz quiz = QuizFactory.CriaQuiz(categoria, quizModel.Descricao, quizModel.ExpiraEm, true); foreach (var perguntaModel in quizModel.Perguntas) { var pergunta = quiz.AdicionaPergunta(perguntaModel.Descricao, perguntaModel.Dificuldade == 1 ? Dificuldade.Basico : Dificuldade.Avancado); foreach (var respostaModel in perguntaModel.PossiveisRespostas) { pergunta.AdicionarResposta(respostaModel.Descricao, respostaModel.Correta); } } serviceSetup.Salva(quiz); } }
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); } } }