public ActionResult Questionnaire(QuestionnaireViewModel model)
        {
            if (!ModelState.IsValid) {
                return View(model);
            }
            var user = this.GetAuthUser();
            var context = ApplicationDbContext.Create();
            var questionnaire = context.Questionnaires.Single(x => x.User.Id == user.Id);

            foreach (var item in model.QuestionnaireItemViewModels) {
                var questionnaireItem = questionnaire.Items.Single(x => x.Id == item.Id);
                questionnaireItem.Value = item.Value;
            }
            questionnaire.Date = DateTime.Now;
            context.SaveChanges();
            return RedirectToAction("Index");
        }
        public ActionResult Questionnaire()
        {
            var user = this.GetAuthUser();
            var context = ApplicationDbContext.Create();
            var questionnaire = context.Questionnaires.SingleOrDefault(x => x.User.Id == user.Id);

            if (questionnaire == null) {
                questionnaire = new Questionnaire() {
                    User = context.Users.Single(x => x.Id == user.Id),
                    Date = DateTime.Now,
                };
                foreach (var setting in context.CriteriaSettings) {
                    questionnaire.Items.Add(new QuestionnaireItem {
                        Key = setting.Name,
                        Value = 0,
                    });
                }
                context.Questionnaires.Add(questionnaire);
                context.SaveChanges();
            }

            var model = new QuestionnaireViewModel(questionnaire);
            return View(model);
        }