Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
                }

            }
        }