Esempio n. 1
0
        //--------------------------------------------------------------------------------------------- CREATE
        public async Task <IActionResult> Create(int?id)
        {
            var user = await GetCurrentUserAsync();

            if (user == null)
            {
                return(NotFound());
            }

            var surveyQuestionListViewModel = await _context.Surveys.FindAsync(id);

            surveyQuestionListViewModel = await _context.Surveys
                                          .Include(i => i.SurveyAssignments).ThenInclude(i => i.Question)
                                          .AsNoTracking()
                                          .FirstOrDefaultAsync(i => i.SurveyId == id);


            if (surveyQuestionListViewModel == null)
            {
                return(NotFound());
            }
            var viewModel = new SurveyQuestionsListViewModel();

            viewModel.SurveyId     = surveyQuestionListViewModel.SurveyId;
            viewModel.SurveyName   = surveyQuestionListViewModel.SurveyName;
            viewModel.Description  = surveyQuestionListViewModel.Description;
            viewModel.Instructions = surveyQuestionListViewModel.Instructions;

            return(View(viewModel));
        }
        public async Task <IActionResult> Create(int id, [Bind("QuestionId, SurveyId, QuestionText")] SurveyQuestionsListViewModel surveyQuestionsListViewModel)
        {
            surveyQuestionsListViewModel.SurveyId = id;

            if (ModelState.IsValid)
            {
                var newQuestion = new Question();
                newQuestion.SurveyId     = surveyQuestionsListViewModel.SurveyId;
                newQuestion.QuestionText = surveyQuestionsListViewModel.QuestionText;

                _context.Add(newQuestion);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Surveys", new { id = newQuestion.SurveyId }));
            }
            return(View(surveyQuestionsListViewModel));
        }