Пример #1
0
        /// <summary>
        ///  Convertir/ mapper une "quizz" en  ViewModel "quizzViewModel"
        /// </summary>
        /// <param name="quizz"></param>
        /// <returns></returns>
        public static QuizzViewModel MapToQuizzViewModel(this Quizz quizz)
        {
            var quizzViewModel = new QuizzViewModel();

            if (quizz == null)
            {
                return(quizzViewModel);
            }
            quizzViewModel = new QuizzViewModel
            {
                QuizzId        = quizz.QuizzId,
                EtatQuizz      = quizz.EtatQuizz,
                NombreQuestion = quizz.NombreQuestion,
                NomUser        = quizz.NomUser,
                PrenomUser     = quizz.PrenomUser,
                TechnologyId   = quizz.TechnologyId,
                DifficultyId   = quizz.DifficultyId,
                QuestionLibre  = quizz.QuestionLibre,
                Timer          = quizz.Timer,
                QuestionId     = quizz.Questions.Select(o => o.QuestionId).ToList(),
                ContactId      = quizz.ContactId

                                 //TODO	Rajouter difficultiesID quand pret
            };
            return(quizzViewModel);
        }
Пример #2
0
 public ActionResult Edit(QuizzViewModel quizzViewModel)
 {
     if (ModelState.IsValid)
     {
         _quizzService.EditQuizz(quizzViewModel);
         return(RedirectToAction("Quizz", "Quizz"));
     }
     return(View(quizzViewModel));
 }
Пример #3
0
        /// <summary>
        /// Création d'un Quizz
        /// </summary>
        /// <param name="difficultyid"></param>
        /// <param name="technoid"></param>
        /// <param name="userid"></param>
        /// <param name="nomuser"></param>
        /// <param name="prenomuser"></param>
        /// <param name="questionlibre"></param>
        /// <param name="nombrequestions"></param>
        public Quizz CreateQuizz(QuizzViewModel quizzViewModel, int difficultymasterid)
        {
            Quizz unQuizz = null;

            using (FilRougeDBContext db = new FilRougeDBContext())
            {
                var quizz = quizzViewModel.MapToQuizz();

                List <Questions> questionsQuizz = AddQuestionToQuizz(quizz.QuestionLibre, quizz.NombreQuestion, quizz.TechnologyId, difficultymasterid, db);
                int timer = quizz.Timer;


                try
                {
                    //TODO creer un viewbag des users => authorize create quizz
                    // verifier paramètres de création d'un quizz
                    Contact    creatingQuizzContact = db.Users.Single(e => e.Id == quizz.ContactId);
                    Difficulty difficultyQuizz      = db.Difficulties.Single(e => e.DifficultyId == difficultymasterid);
                    Technology technoQuizz          = db.Technologies.Single(e => e.TechnoId == quizz.TechnologyId);

                    unQuizz = new Quizz
                    {
                        ContactId      = creatingQuizzContact.Id,
                        DifficultyId   = difficultymasterid,
                        TechnologyId   = quizz.TechnologyId,
                        Timer          = quizz.Timer,
                        PrenomUser     = quizz.PrenomUser,
                        NomUser        = quizz.NomUser,
                        NombreQuestion = quizz.NombreQuestion,
                        EtatQuizz      = quizz.EtatQuizz,
                        QuestionLibre  = quizz.QuestionLibre,
                        Contact        = creatingQuizzContact,
                        Difficulty     = difficultyQuizz,
                        Questions      = questionsQuizz,
                        Technology     = technoQuizz
                    };
                    db.Quizz.Add(unQuizz);
                    db.SaveChanges();
                    db.Dispose();
                }
                catch (AlreadyInTheQuestionsList e)
                {
                    Console.WriteLine(e.Message);
                    db.Dispose();
                }
                catch (NoQuestionsForYou e)
                {
                    Console.WriteLine(e.Message);
                    db.Dispose();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            return(unQuizz);
        }
Пример #4
0
        private void StartButton_Click(object sender, RoutedEventArgs e)
        {
            int            number           = (int)numberBox.SelectedItem;
            Category       selectedCategory = categorySelect.SelectedItem as Category;
            QuizzViewModel model            = new QuizzViewModel(selectedCategory, number);

            QuizzView quizz = new QuizzView(model);

            this.NavigationService.Navigate(quizz);
        }
Пример #5
0
        public ActionResult Test(int id)
        {
            QuizzViewModel quizz = _quizzService.GetQuizz(id);

            if (ViewBag.ListQuestion == null)
            {
                ViewBag.ListQuestion = _questionService.GetQuestionsByQuizzId(quizz.QuizzId);
            }

            return(View("QuizzAnswers", quizz));
        }
Пример #6
0
 // GET: api/Quizz/5
 public IHttpActionResult GetQuizz(int id)
 {
     try
     {
         QuizzViewModel quizzViewModel = _quizzService.GetQuizz(id);
         return(Ok(quizzViewModel));
     }
     catch (InvalidOperationException)
     {
         return(NotFound());
     }
 }
Пример #7
0
        public int EditQuizz(QuizzViewModel quizzViewModel)
        {
            int id = 0;

            using (var db = new FilRougeDBContext())
            {
                var quizz = db.Quizz.Find(quizzViewModel.QuizzId);

                quizz.NomUser    = quizzViewModel.NomUser;
                quizz.PrenomUser = quizzViewModel.PrenomUser;

                db.Entry(quizz).State = EntityState.Modified;
                db.SaveChanges();

                id = quizz.QuizzId;
            }
            return(id);
        }
Пример #8
0
        public ActionResult Create(QuizzViewModel quizzViewModel)
        {
            var technologiesListItem = _technologiesService.GetListItemsTechnologies();
            var difficultiesListItem = _difficultyServices.GetListItemsDifficulties();

            ViewBag.Difficulties = difficultiesListItem;
            ViewBag.Technologies = technologiesListItem;

            var masterID = 1;

            if (ModelState.IsValid)
            {
                quizzViewModel.EtatQuizz = 0;
                quizzViewModel.Timer     = 0;
                var quizz = _quizzService.CreateQuizz(quizzViewModel, masterID);
                return(RedirectToAction("Quizz", "Quizz"));
            }

            return(View(quizzViewModel));
        }
Пример #9
0
        /// <summary>
        ///  Convertir/ mapper une "QuizzViewModel" en "quizz"
        /// </summary>
        /// <param name="quizzViewModel"></param>
        /// <returns></returns>
        public static Quizz MapToQuizz(this QuizzViewModel quizzViewModel)
        {
            var quizz = new Quizz();

            if (quizzViewModel == null)
            {
                return(quizz);
            }
            quizz = new Quizz
            {
                QuizzId        = quizzViewModel.QuizzId,
                EtatQuizz      = quizzViewModel.EtatQuizz,
                NombreQuestion = quizzViewModel.NombreQuestion,
                NomUser        = quizzViewModel.NomUser,
                PrenomUser     = quizzViewModel.PrenomUser,
                TechnologyId   = quizzViewModel.TechnologyId,
                DifficultyId   = quizzViewModel.DifficultyId,
                ContactId      = quizzViewModel.ContactId
            };
            return(quizz);
        }