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")); }
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 }); }
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); } }