public ActionResult Create(NewQuestionViewModel qvm) { List <CategoryViewModel> categories = this.cs.GetCategories(); ViewBag.categories = categories; return(View(categories)); }
public IActionResult AddQuestion(int id) { NewQuestionViewModel model = new NewQuestionViewModel(); model.Survey = _surveyService.GetSurveyById(id); return(View(model)); }
public Question(NewQuestionViewModel vm, Test test) { Text = vm.QuestionText; CorrectAnswer = vm.CorrectAnswer; Points = vm.Points; Test = test; }
private PartialViewResult ViewNewQuestion(NewQuestionViewModel viewModel) { var subGoalsGroup = HttpRequestStorage.DatabaseEntities.AssessmentSubGoals.ToList().ToGroupedSelectList(); var viewData = new NewQuestionViewData(CurrentFirmaSession, subGoalsGroup); return(RazorPartialView <NewQuestion, NewQuestionViewData, NewQuestionViewModel>(viewData, viewModel)); }
public void InsertQuestion(NewQuestionViewModel newQuestionViewModel) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <NewQuestionViewModel, Question>(); cfg.IgnoreUnmapped(); }); IMapper mapper = config.CreateMapper(); Question question = mapper.Map <NewQuestionViewModel, Question>(newQuestionViewModel); questionRepository.InsertQuestion(question); }
public void InsertQuestion(NewQuestionViewModel qvm) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <NewQuestionViewModel, Question>(); cfg.IgnoreUnmapped(); }); IMapper mapper = config.CreateMapper(); Question q = mapper.Map <NewQuestionViewModel, Question>(qvm); qr.InsertQuestion(q); }
private NewQuestionViewModel GetNewImageQuestionViewModelFromFormCollection(NewQuestionViewModel model, FormCollection collection) { model.Options = new List <Option>(); model.CorrectOptions = new List <Option>(); if (collection.Keys.Count() > 0) { foreach (string key in collection.Keys) { if (key == "Title") { model.Title = collection[key]; } else if (key.Contains("correctOption")) //this must be Correct Option { if (!string.IsNullOrEmpty(collection[key])) { try { var correctOption = new Option(); correctOption.Image = ImagesService.Instance.GetImage(int.Parse(collection[key])); correctOption.IsCorrect = true; correctOption.ModifiedOn = DateTime.Now; model.CorrectOptions.Add(correctOption); } catch (Exception ex) { //ignore this option } } } else if (key.Contains("option")) //this must be Option { if (!string.IsNullOrEmpty(collection[key])) { try { var option = new Option(); option.Image = ImagesService.Instance.GetImage(int.Parse(collection[key])); option.IsCorrect = false; option.ModifiedOn = DateTime.Now; model.Options.Add(option); } catch (Exception ex) { //ignore this option } } } } } return(model); }
public IActionResult OnPost(IFormCollection collection) { NewQuestionViewModel model = new NewQuestionViewModel(); model.QuizId = GetQuizIDFromCollection(collection); var quiz = _context.Quizzes.FirstOrDefault(x => x.Id == model.QuizId); if (quiz == null) { return(NotFound()); } model = GetNewImageQuestionViewModelFromFormCollection(model, collection); if (string.IsNullOrEmpty(model.Title) || model.Options.Where(x => x.IsCorrect).ToList().Count == 0 || model.Options.Count == 0) { if (string.IsNullOrEmpty(model.Title)) { ModelState.AddModelError("Title", "Please enter question title."); } if (model.Options.Where(x => x.IsCorrect).ToList().Count == 0) { ModelState.AddModelError("CorrectOptions", "Please enter some correct options."); } if (model.Options.Count == 0) { ModelState.AddModelError("Options", "Please enter some other options."); } QuestionViewModel = model; return(Page()); } var question = new Question(); question.QuizID = quiz.Id; question.Title = model.Title; question.ImageID = model.ImageID; question.QuestionType = Models.Enums.QuestionType.Image; question.Options = new List <Option>(); question.Options.AddRange(model.CorrectOptions); question.Options.AddRange(model.Options); _context.Questions.Add(question); if (_context.SaveChanges() > 0) { return(Redirect("~/admin/add_image_question?quizId=" + quiz.Id)); } else { return(StatusCode(500)); } }
public IActionResult Add(NewQuestionViewModel model) { var success = service.Add( Utility.GetUserContext().UserId, model.CourseId, model.Type, model.Topic, model.AnswerOptions); return(Ok(success)); }
public ActionResult NewQuestion(NewQuestionViewModel viewModel) { if (!ModelState.IsValid) { return(ViewNewQuestion(viewModel)); } var question = new AssessmentQuestion(viewModel.AssessmentSubGoalID, viewModel.AssessmentQuestionText); viewModel.UpdateModel(question, CurrentFirmaSession); HttpRequestStorage.DatabaseEntities.AllAssessmentQuestions.Add(question); return(new ModalDialogFormJsonResult()); }
// GET: /Question/Create public ActionResult Create(int?sessionId) { if (sessionId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NewQuestionViewModel view = new NewQuestionViewModel() { SessionID = (int)sessionId }; return(View(view)); }
public IActionResult AddQuestion(int id, NewQuestionViewModel model) { SurveyQuestion question = new SurveyQuestion(); question.Question = model.Question; question.ParentSurvey = _surveyService.GetSurveyById(id); if (ModelState.IsValid) { _surveyService.AddQuestion(question); return(RedirectToAction("Questions", new { id = question.ParentSurvey.Id })); } return(View(model)); }
public ActionResult Create(NewQuestionViewModel view) { if (ModelState.IsValid) { Question question = new Question() { Text = view.Text, SessionID = view.SessionID, StudentID = User.Identity.GetUserId() }; db.Questions.Add(question); db.SaveChanges(); return(RedirectToAction("Index", new { sessionId = view.SessionID })); } return(View(view)); }
public IActionResult OnGet(int quizId) { QuestionViewModel = new NewQuestionViewModel(); var quiz = _context.Quizzes.FirstOrDefault(x => x.Id == quizId); if (quiz == null) { return(NotFound()); } QuestionViewModel.QuizId = quiz.Id; QuizId = quizId; return(Page()); }
private NewQuestionViewModel GetNewTextQuestionViewModelFromFormCollection(NewQuestionViewModel model, IFormCollection collection) { model.Options = new List <Option>(); model.CorrectOptions = new List <Option>(); if (collection.Keys.Count() > 0) { foreach (var key in collection) { if (key.Key == "Title") { model.Title = collection[key.Key]; } //else if (key.Key.Contains("correctOption")) //this must be Correct Option //{ // if (!string.IsNullOrEmpty(collection[key.Key])) // { // var correctOption = new Option(); // correctOption.Answer = collection[key.Key]; // correctOption.IsCorrect = true; // model.CorrectOptions.Add(correctOption); // } //} else if (key.Key.Contains("option") && key.Key.Contains("isoptioncorrect") == false) //this must be Option { if (!string.IsNullOrEmpty(collection[key.Key])) { var option = new Option(); option.Answer = collection[key.Key]; var index = Regex.Replace(key.Key, "[^0-9]+", string.Empty); var isOptionCorrect = collection["isoptioncorrect" + index] == "on"; option.IsCorrect = isOptionCorrect; model.Options.Add(option); } } } } return(model); }
public ActionResult Create(NewQuestionViewModel qvm) { if (ModelState.IsValid) { qvm.AnswersCount = 0; qvm.ViewsCount = 0; qvm.VotesCount = 0; qvm.QuestionDateAndTime = DateTime.Now; qvm.UserID = Convert.ToInt32(Session["CurrentUserID"]); this.qs.InsertQuestion(qvm); return(RedirectToAction("Questions", "Home")); } else { ModelState.AddModelError("x", "Invalid data"); return(View()); } }
public void AddQuestion(NewQuestionViewModel vm) { var test = _context.Tests.Include(x => x.Subject) .Include(x => x.Questions) .FirstOrDefault(x => x.Id == vm.TestId); if (test == null) { return; } var question = new Question(vm, test); _context.Questions.Add(question); _context.QuestionAnswers.Add(new QuestionAnswer(vm.Answer1, question)); _context.QuestionAnswers.Add(new QuestionAnswer(vm.Answer2, question)); _context.QuestionAnswers.Add(new QuestionAnswer(vm.Answer3, question)); }
private NewQuestionViewModel GetNewTextQuestionViewModelFromFormCollection(NewQuestionViewModel model, FormCollection collection) { model.Options = new List <Option>(); model.CorrectOptions = new List <Option>(); if (collection.Keys.Count() > 0) { foreach (string key in collection.Keys) { if (key == "Title") { model.Title = collection[key]; } else if (key.Contains("correctOption")) //this must be Correct Option { if (!string.IsNullOrEmpty(collection[key])) { var correctOption = new Option(); correctOption.Answer = collection[key]; correctOption.IsCorrect = true; correctOption.ModifiedOn = DateTime.Now; model.CorrectOptions.Add(correctOption); } } else if (key.Contains("option")) //this must be Option { if (!string.IsNullOrEmpty(collection[key])) { var option = new Option(); option.Answer = collection[key]; option.IsCorrect = false; option.ModifiedOn = DateTime.Now; model.Options.Add(option); } } } } return(model); }
public ActionResult NewQuestion(int quizID) { NewQuestionViewModel model = new NewQuestionViewModel(); var quiz = UserHasRights() ? QuizzesService.Instance.GetQuizForAdmin(quizID) : QuizzesService.Instance.GetUserQuiz(User.Identity.GetUserId(), quizID); if (quiz == null) { return(HttpNotFound()); } model.PageInfo = new PageInfo() { PageTitle = "Add New Question", PageDescription = "Add questions to selected quiz." }; model.QuizID = quiz.ID; model.QuizType = quiz.QuizType; return(View(model)); }
public NewQuestionView() { InitializeComponent(); DataContext = new NewQuestionViewModel(); }
public async Task <ActionResult> NewQuestion(FormCollection collection) { NewQuestionViewModel model = new NewQuestionViewModel(); model.QuizID = GetQuizIDFromCollection(collection); var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); var quiz = UserHasRights() ? QuizzesService.Instance.GetQuizForAdmin(model.QuizID) : QuizzesService.Instance.GetUserQuiz(userId, model.QuizID); if (quiz == null) { return(NotFound()); } if (quiz.QuizType == QuizType.Image) { model = GetNewImageQuestionViewModelFromFormCollection(model, collection); } else { model = GetNewTextQuestionViewModelFromFormCollection(model, collection); } model.PageInfo = new PageInfo() { PageTitle = "Add New Question", PageDescription = "Add questions to selected quiz." }; if (string.IsNullOrEmpty(model.Title) || model.CorrectOptions.Count == 0 || model.Options.Count == 0) { if (string.IsNullOrEmpty(model.Title)) { ModelState.AddModelError("Title", "Please enter question title."); } if (model.CorrectOptions.Count == 0) { ModelState.AddModelError("CorrectOptions", "Please enter some correct options."); } if (model.Options.Count == 0) { ModelState.AddModelError("Options", "Please enter some other options."); } model.QuizType = quiz.QuizType; return(View(model)); } var question = new Question(); question.QuizID = quiz.ID; question.Title = model.Title; question.Options = new List <Option>(); question.Options.AddRange(model.CorrectOptions); question.Options.AddRange(model.Options); question.ModifiedOn = DateTime.Now; if (await QuestionsService.Instance.SaveNewQuestion(question)) { return(RedirectToAction("NewQuestion", new { quizID = question.QuizID })); } else { return(new StatusCodeResult(500)); } }
public NewQuestionWindow(NewQuestionViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; }
public PartialViewResult NewQuestion() { var viewModel = new NewQuestionViewModel(); return(ViewNewQuestion(viewModel)); }
private NewQuestionViewModel GetNewImageQuestionViewModelFromFormCollection(NewQuestionViewModel model, IFormCollection collection) { model.Options = new List <Option>(); model.CorrectOptions = new List <Option>(); if (collection.Keys.Count() > 0) { foreach (var key in collection) { if (key.Key == "Title") { model.Title = collection[key.Key]; } //else if (key.Key.Contains("correctOption")) //this must be Correct Option //{ // if (!string.IsNullOrEmpty(collection[key.Key])) // { // try // { // var correctOption = new Option(); // correctOption.Image = _context.Images.FirstOrDefault(x => x.Id == int.Parse(collection[key.Key])); // correctOption.IsCorrect = true; // model.CorrectOptions.Add(correctOption); // } // catch (Exception ex) // { // //ignore this option // } // } //} else if (key.Key.Contains("option")) //this must be Option { if (!string.IsNullOrEmpty(collection[key.Key])) { try { var option = new Option(); option.Image = _context.Images.FirstOrDefault(x => x.Id == int.Parse(collection[key.Key])); var index = Regex.Replace(key.Key, "[^0-9]+", string.Empty); var isOptionCorrect = collection["isoptioncorrect" + index] == "on"; option.IsCorrect = isOptionCorrect; model.Options.Add(option); } catch (Exception ex) { //ignore this option } } } else if (key.Key.Contains("questionfile")) { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.ImageID = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "Hours") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.Hours = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "Minutes") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.Minutes = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "Seconds") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.Seconds = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "EnableOptionTimer") { model.HasOptionsTime = Convert.ToBoolean(collection[key.Key]); } else if (key.Key == "OptionHours") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.OptionHours = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "OptionMinutes") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.OptionMinutes = Convert.ToInt32(collection[key.Key]); } } else if (key.Key == "OptionSeconds") { if (string.IsNullOrEmpty(collection[key.Key]) == false) { model.OptionSeconds = Convert.ToInt32(collection[key.Key]); } } } } return(model); }