public async Task <IActionResult> Edit(FormViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(NotFound());
            }
            try
            {
                model.UserId = (await userManager.GetUserAsync(User)).Id;

                foreach (var question in model.MultipleChoiceQuestions)
                {
                    foreach (var desc in question.OptionsDescriptions)
                    {
                        var optionModel = new MultipleChoiceOptionViewModel();
                        optionModel.OptionDescription = desc;
                        question.Options.Add(optionModel);
                    }
                }

                this.toastNotification.AddSuccessToastMessage("Form was successfully created");
                await this.formServices.CreateFormAsync(model.MapFrom());
            }
            catch (Exception)
            {
                this.toastNotification.AddErrorToastMessage("Something went wrong... Please try again!");
            }

            return(RedirectToAction("ListForms"));
        }
Beispiel #2
0
        public static MultipleChoiceOptionDTO MapFrom(this MultipleChoiceOptionViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new Exception(ExceptionMessages.EntityNull);
            }

            return(new MultipleChoiceOptionDTO
            {
                Id = viewModel.Id,
                OptionDescription = viewModel.OptionDescription,
                Answer = viewModel.Answer
            });
        }
Beispiel #3
0
 public bool MapMultipleQuestionsWithOptions(FormViewModel model)
 {
     try
     {
         foreach (var question in model.MultipleChoiceQuestions)
         {
             foreach (var desc in question.OptionsDescriptions)
             {
                 var optionModel = new MultipleChoiceOptionViewModel();
                 optionModel.OptionDescription = desc;
                 question.Options.Add(optionModel);
             }
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }