public async Task <IActionResult> CreateAnswer(CreateAnswerViewModel cavm) { cavm.Ans.BQID = cavm.ID; //Check and see if the cookie has a valid number in it. // if it does, then save that to PID of the Answer object. if (Int32.TryParse(Request.Cookies["Player"], out int userId)) { cavm.Ans.PID = userId; } var player = _context.PlayerTable.FirstOrDefault(p => p.ID == cavm.Ans.PID); if (player == null) { return(NotFound()); } player.Points++; _context.PlayerTable.Update(player); await _context.AnswerTable.AddAsync(cavm.Ans); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Profile", player)); }
public async Task <IActionResult> CreateChoiceAnswer([Bind("ChoiceAnswerId,Answer,IsRight,QuestionId,CreationDate")] ChoiceAnswer choiceAnswer) { choiceAnswer.Question = await _context.Questions.Where(q => q.QuestionId == choiceAnswer.QuestionId).FirstOrDefaultAsync(); if (ModelState.IsValid) { _context.Add(choiceAnswer); await _context.SaveChangesAsync(); } var model = new CreateAnswerViewModel { IsChoiceAnswer = true, Question = choiceAnswer.Question, ListChoiceAnswer = _context.ChoiceAnswers.Where(a => a.QuestionId == choiceAnswer.QuestionId).ToList() }; // For single choice, check if one answer is already True // TODO :: Replace Name by a key value in app config var query = from answer in _context.ChoiceAnswers join question in _context.Questions on answer.QuestionId equals question.QuestionId join type in _context.TypeQuestions on question.TypeQuestionId equals type.TypeQuestionId where type.Name == "Unique" && question.QuestionId == choiceAnswer.QuestionId && answer.IsRight select answer; ViewData["ChoiceAnswersIsRight"] = query.Count() > 0 ? true : false; // Return to the add answer return(View("CreateAnswer", model)); }
public async Task <IActionResult> CreateAnswer(CreateAnswerViewModel cavm) { cavm.Ans.TQID = cavm.ID; if (Int32.TryParse(Request.Cookies["Player"], out int userId)) { cavm.Ans.PID = userId; } //Save to the answer table await _context.AnswerTable.AddAsync(cavm.Ans); var player = _context.PlayerTable.FirstOrDefault(p => p.ID == cavm.Ans.PID); if (player == null) { return(NotFound()); } player.Points++; //Update player on playertable _context.PlayerTable.Update(player); await _context.SaveChangesAsync(); return(RedirectToAction("Index", "Profile", player)); }
public CreateQuizViewModel CreateQuizViewModelFromQuizDTO(QuizDTO quiz) { CreateQuizViewModel viewModel = new CreateQuizViewModel(); viewModel.Id = quiz.Id; viewModel.Description = quiz.Description; viewModel.Title = quiz.Title; viewModel.Path = quiz.FilePath; int i = 0; foreach (var q in quiz.Questions) { CreateQuestionViewModel questionViewModel = new CreateQuestionViewModel(); questionViewModel.Question = q.Question; int j = 0; foreach (var a in quiz.Questions[i].Answers) { CreateAnswerViewModel answerViewModel = new CreateAnswerViewModel(); questionViewModel.Answers.Add(answerViewModel); questionViewModel.Answers[j].Answer = a.Answer; questionViewModel.Answers[j].isCorrect = a.isCorrect; j++; } i++; } return(viewModel); }
public void CreateAnswerRedirectsAsync() { DbContextOptions <FunemploymentDbContext> options = new DbContextOptionsBuilder <FunemploymentDbContext>() .UseInMemoryDatabase("CreateAnswerRedirect") .Options; using (FunemploymentDbContext context = new FunemploymentDbContext(options)) { TechnicalController tc = new TechnicalController(context); Player player = new Player(); player.Username = "******"; player.Location = "testLocation"; player.About = "testAbout"; Answer answer = new Answer(); CreateAnswerViewModel cavm = new CreateAnswerViewModel(); try { var x = tc.CreateAnswer(cavm); } catch (Exception ex) { Assert.True(ex is NullReferenceException); } } }
public async Task <ActionResult> Add(CreateAnswerViewModel answer) { if (ModelState.IsValid) { Question question = await _context.Questions.SingleAsync(x => x.Id == answer.QuestionId); question.Answers.Add(new Answer(answer.Text)); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "Questions", new { id = answer.QuestionId })); } return(View(answer)); }
private static void SetupQuestions(AddQuizQuestionsViewModel viewModel) { for (int i = 0; i < 10; i++) { CreateQuestionViewModel q = new CreateQuestionViewModel(); List <CreateAnswerViewModel> answers = new List <CreateAnswerViewModel>(); for (int j = 0; j < 4; j++) { CreateAnswerViewModel a = new CreateAnswerViewModel(); answers.Add(a); } q.Answers = answers; viewModel.Questions.Add(q); } }
public async Task <IActionResult> CreateAnswer(CreateAnswerViewModel viewModel) { if (!ModelState.IsValid) { return(RedirectToAction("Index", new { id = viewModel.PostId }).PushAlert("Answer is Valid", Core.Enums.AlertType.Error)); } var createdAnswer = await answerService.CreateAnswer(viewModel.Content, viewModel.PostId); if (createdAnswer == null) { return(RedirectToAction("Index", new { id = viewModel.PostId }).PushAlert("Error occured when creating a answer")); } return(RedirectToAction("Index", new { id = viewModel.PostId }).PushAlert("Answer added successfully")); }
public async Task <IActionResult> CreateAnswer(CreateAnswerViewModel model) { if (ModelState.IsValid) { Answer newAnswer = new Answer { QuestionId = model.QuestionId, QuestionVariantContent = model.QuestionVariantContent, CorrectAnswer = model.CorrectAnswer }; // Add new Answer var result = await _examDBContect.DbAnswer.AddAsync(newAnswer); var resultSave = await _examDBContect.SaveChangesAsync(); } return(RedirectToAction("ListAnswers")); }
public async Task <IActionResult> CreateBoolAnswer([Bind("BoolAnswerId,Answer,QuestionId,CreationDate")] BoolAnswer boolAnswer) { if (ModelState.IsValid) { _context.Add(boolAnswer); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), "Questions", new { id = boolAnswer.QuestionId })); } // Can't add answer we return to the CreateAnswer page var model = new CreateAnswerViewModel { Question = boolAnswer.Question }; return(View("CreateAnswer", model)); }
public ActionResult Reply(int page, string title, string iD) { var UserId = User.Identity.GetUserId(); var loggedUserByUserId = _applicationDbContext.Users.SingleOrDefault(i => i.Id == UserId); if (loggedUserByUserId.Career == "General") { CreateAnswerViewModel ansModel = new CreateAnswerViewModel(); var getAnswerByanswerId = _applicationDbContext.AnswerToQuestions.SingleOrDefault(i => i.AnswerToQuestionId == page); ansModel.AnswerToQuestionId = getAnswerByanswerId.AnswerToQuestionId; ansModel.AnswerText = getAnswerByanswerId.Answer; return(View(ansModel)); } else { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie); return(RedirectToAction("Login", "Account")); } }
public async Task <IActionResult> Create([Bind("QuestionId,Header,Mark,CreationDate,TypeQuestionId,SubjectId,UserId")] Question question) { question.UserId = _userManager.GetUserId(User); if (ModelState.IsValid) { _context.Add(question); await _context.SaveChangesAsync(); // Return the right view to fill the answer => TypeQuestion question.TypeQuestion = await _context.TypeQuestions.Where(t => t.TypeQuestionId == question.TypeQuestionId).FirstOrDefaultAsync(); question.Subject = await _context.Subjects.Where(s => s.SubjectId == question.SubjectId).FirstOrDefaultAsync(); var model = new CreateAnswerViewModel { Question = question }; if (question.TypeQuestion.Name == "Multiple" || question.TypeQuestion.Name == "Unique") { model.IsChoiceAnswer = true; } else if (question.TypeQuestion.Name == "VraiFaux") { model.IsBoolAnswer = true; model.ListBoolAnswer = _context.BoolAnswers.Where(a => a.QuestionId == question.QuestionId).ToList(); } else if (question.TypeQuestion.Name == "Trou") { model.IsHoleAnswer = true; model.ListHoleAnswer = _context.HoleAnswers.Where(a => a.QuestionId == question.QuestionId).ToList(); } ViewData["ChoiceAnswersIsRight"] = false; return(View("CreateAnswer", model)); } ViewData["SubjectId"] = new SelectList(_context.Subjects, "SubjectId", "SubjectId", question.SubjectId); ViewData["TypeQuestionId"] = new SelectList(_context.TypeQuestions, "TypeQuestionId", "TypeQuestionId", question.TypeQuestionId); return(View(question)); }
public async Task <IActionResult> CreateAnswer(int id) { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://funemploymentapi.azurewebsites.net"); var response = client.GetAsync($"/api/technical/{id}").Result; if (response.EnsureSuccessStatusCode().IsSuccessStatusCode) { var stringResult = await response.Content.ReadAsStringAsync(); var obj = JsonConvert.DeserializeObject <TechnicalQuestion>(stringResult); CreateAnswerViewModel cavm = new CreateAnswerViewModel(); cavm.Ans = new Answer(); cavm.ID = id; cavm.Question = obj.ProblemDomain; return(View(cavm)); } return(NotFound()); } }
public async Task <IActionResult> Answer(int id, [FromBody] CreateAnswerViewModel model) { if (!ModelState.IsValid) { return(BadRequest()); } if (id != model.QuestionId) { return(NotFound()); } var currentUser = await GetCurrentUser(); var answer = Mapper.Map <Answer>(model); answer.CreatorId = currentUser.Id; answer.QuestionId = id; _context.Answers.Add(answer); _context.SaveChanges(); return(Ok(answer)); }
public IViewComponentResult Invoke(CreateAnswerViewModel viewModel) => View(viewModel);
public static AnswerDTO Map(CreateAnswerViewModel viewModel) { return(new AnswerDTO { isCorrect = viewModel.isCorrect, Answer = viewModel.Answer }); }
// GET: Answers/Create public IActionResult Create(CreateAnswerViewModel model) { return(View(model)); }