コード例 #1
0
ファイル: NovoQuizController.cs プロジェクト: jaropolk2/Quiz
 public ActionResult Novo(QuizModel quizModel)
 {
     quizModel.CriadoEm = DateTime.Now;
     quizModel.ExpiraEm = DateTime.Now.AddDays(15);
     _setupQuiz = new QuizSetupAplicacao();
     _setupQuiz.CriaNovoQuiz(quizModel);
     return Index();
 }
コード例 #2
0
        public ViewResult NovoQuiz(int id)
        {
            if (this.Quiz == null)
                this.Quiz = CarregaQuiz(id);

            Pergunta = Quiz.Perguntas
            .OrderBy(p => p.PerguntaId)
            .Skip((id - 1) * __PAGE_SIZE__)
            .Take(__PAGE_SIZE__).FirstOrDefault();

            return View("Pergunta", Pergunta);
        }
コード例 #3
0
        public ActionResult Novo(QuizModel quizModel)
        {
            quizModel.CriadoEm = DateTime.Now;
            quizModel.ExpiraEm = DateTime.Now.AddDays(15);
            if ((quizModel.CategoriaId == 0) || String.IsNullOrEmpty(Request.Form[0]))
            {
                ViewBag.SelecionouAssunto = false;
                return Index();
            }

            _setupQuiz = new QuizSetupAplicacao();
            _setupQuiz.CriaNovoQuiz(quizModel);
            return Index();
        }
コード例 #4
0
ファイル: QuizSetupAplicacao.cs プロジェクト: jaropolk2/Quiz
        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);
            }
        }
コード例 #5
0
ファイル: MappersExtensions.cs プロジェクト: jaropolk2/Quiz
 public static QuizModel ToModel(this Quiz quiz)
 {
     CreateMappings();
     var quizModel = new QuizModel();
     return Mapper.Map<Quiz, QuizModel>(quiz, quizModel);
 }
コード例 #6
0
 private QuizModel CarregaQuiz(int assuntoId)
 {
     if (this.Quiz == null)
     {
         var assuntoModel = new AssuntoModel() { AssuntoId = assuntoId };
         this.Quiz = _quizAplicacao.Start(assuntoModel);
     }
     return this.Quiz;
 }
コード例 #7
0
ファイル: QuizAplicacao.cs プロジェクト: rafaelpiresm/Gallery
 public bool IsCorreta(QuizModel quiz, UsuarioModel usuario, PerguntaModel pergunta, RespostaModel resposta)
 {
     return CorrigeResposta(quiz.QuizId, usuario.UsuarioId, pergunta.PerguntaId, resposta.RespostaId);
 }
コード例 #8
0
 public ActionResult NovasPerguntas(QuizModel quizModel)
 {
     this.QuizSendoConfigurado = quizModel;
     return View("QuizSendoConfigurado", this.QuizSendoConfigurado);
 }