public ActionResult REMS5(AnswersViewModel model)
 {
     SaveAnswerChanges(model);
     return RedirectToAction("REMS5");
 }
 private void SaveAnswerChanges(AnswersViewModel model)
 {
     if (ModelState.IsValid)
     {
         foreach (var answer in model.Answers)
         {
             db.Entry(answer).State = EntityState.Modified;
         }
         db.SaveChanges();
     }
 }
        private AnswersViewModel AnswersFilter(int categoryId)
        {
            userManager = new ApplicationUserManager(new ApplicationUserStore(identityDb));
            var user = userManager.FindByName(User.Identity.Name);
            var userId = user.Id;
            if (user.SelectedPeriodId == null)
                return null;

            var periodId = (int)user.SelectedPeriodId;

            var answers = db.Answer.Where(a => a.PeriodId == periodId && a.Question.CategoryId == categoryId && a.UserId == userId).ToList();
            var questions = db.Question.Where(q => q.CategoryId == categoryId).ToList();

            var missingQuestionIds = questions.Select(q => q.Id).Except(answers.Select(a => a.QuestionId));

            foreach (var id in missingQuestionIds)
            {
                db.Answer.Add(new Answer { QuestionId = id, Value = 0, PeriodId = periodId, UserId = userId });
            }
            db.SaveChanges();

            answers = db.Answer.Where(a => a.PeriodId == periodId && a.Question.CategoryId == categoryId && a.UserId == userId).ToList();

            var model = new AnswersViewModel();
            model.Answers = answers;
            return model;
        }
Beispiel #4
0
 public ActionResult Validatie(AnswersViewModel model)
 {
     SaveAnswerChanges(model);
     return RedirectToAction("Validatie");
 }
Beispiel #5
0
 public ActionResult Specificatie(AnswersViewModel model)
 {
     SaveAnswerChanges(model);
     return RedirectToAction("Specificatie");
 }
Beispiel #6
0
 public ActionResult Analyse(AnswersViewModel model)
 {
     SaveAnswerChanges(model);
     return RedirectToAction("Analyse");
 }