private QuizDefinition CreateQuiz(QuizUserViewModel quizViewModel, bool replace) { QuizDefinition newQuiz = new QuizDefinition(); this.MapViewModelToModel(quizViewModel, newQuiz, replace); this.Db.QuizzesDefinitions.Add(newQuiz); return(newQuiz); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuizUserViewModel quizViewModel = this.GetViewModelById(id); this.ViewBag.CategoryId = new SelectList(this.Db.Categories.All().ToList(), "Id", "Name", quizViewModel.CategoryId); return(this.View(quizViewModel)); }
public ActionResult Create(QuizUserViewModel quizViewModel) { if (this.ModelState.IsValid) { QuizDefinition newQuiz = this.CreateQuiz(quizViewModel, false); this.Db.SaveChanges(); quizViewModel.Id = newQuiz.Id; return(this.RedirectToAction("Index")); } return(this.View(quizViewModel)); }
public ActionResult Edit(QuizUserViewModel quizViewModel) { if (this.ModelState.IsValid) { // create new and disable the old //TODO Manage questions QuizDefinition newQuiz = this.CreateQuiz(quizViewModel, false); this.Db.QuizzesDefinitions.Delete(quizViewModel.Id); this.Db.SaveChanges(); return(this.RedirectToAction("Index")); } return(this.View(quizViewModel)); }
private void MapViewModelToModel(QuizUserViewModel quizViewModel, QuizDefinition dbQuiz, bool replace) { var category = this.Db.Categories.SearchFor(c => c.Id == quizViewModel.CategoryId).FirstOrDefault(); if (category == null) { throw new HttpException("Category not found."); } dbQuiz.Title = quizViewModel.Title; dbQuiz.CategoryId = quizViewModel.CategoryId; dbQuiz.IsPublic = quizViewModel.IsPublic; dbQuiz.Rating = quizViewModel.Rating; var user = this.Db.Users.Find(this.User.Identity.GetUserId()); dbQuiz.Author = user; dbQuiz.QuestionsDefinitions = new List <QuestionDefinition>(); }