public JeopardyBoardVm Get([FromQuery] int showNumber, [FromQuery] string round) { JeopardyBoardVm board = new JeopardyBoardVm(); var questions = _repo.GetQuestionsForGameAndRound(showNumber, round); var cats = (from c in questions select c.Category).Distinct().ToList(); var boardCategories = new List <BoardCategoryVm>(); foreach (var cat in cats) { BoardCategoryVm bcat = new BoardCategoryVm(); bcat.CategoryName = cat; var boardQuestions = new List <QuestionVm>(); var qs = (from q in questions where q.Category.Equals(cat) orderby int.Parse(q.Value.Replace("$", "").Replace(",", "")) select q).ToList(); foreach (var q in qs) { QuestionVm question = new QuestionVm(); question.Value = q.Value; question.Question = q.Question; question.Answer = q.Answer; boardQuestions.Add(question); } bcat.Questions = boardQuestions; boardCategories.Add(bcat); } board.Categories = boardCategories; return(board); }
public async Task <FeedbackVm> GetById(int feedbackId) { var question = (from fb in _context.Feedbacks join fbq in _context.Feedback_Questions on fb.FeedbackID equals fbq.FeedbackId join q in _context.Questions on fbq.QuestionId equals q.QuestionID join tp in _context.Topics on q.TopicID equals tp.TopicId where fb.FeedbackID == feedbackId select new { q, tp }).ToList(); var dataTemp = await _context.Feedbacks.FindAsync(feedbackId); var feedback = _mapper.Map <FeedbackVm>(dataTemp); if (question.Count > 0) { foreach (var temp in question) { QuestionVm vm = new QuestionVm() { TopicId = temp.tp.TopicId, TopicName = temp.tp.Name, Content = temp.q.Content, QuestionID = temp.q.QuestionID }; feedback.Questions.Add(vm); } } return(feedback); }
public async Task <IActionResult> EditQuestion(int questionId, [FromBody] QuestionVm request) { if (await _questionService.EditQuestion(questionId, request)) { return(Ok("Successfull")); } return(BadRequest("Question is exist")); }
public async Task <IActionResult> AddQuestion([FromBody] QuestionVm request) { if (await _questionService.AddQuestion(request)) { return(Ok("Successfull")); } return(BadRequest("Question is exist")); }
public async Task <bool> EditQuestion(int questionId, QuestionVm request) { Question question = await _context.Questions.FindAsync(request.QuestionID); question.Content = request.Content; try { await _context.SaveChangesAsync(); return(true); } catch { return(false); } }
public async Task <bool> AddQuestion(QuestionVm request) { Question question = _mapper.Map <Question>(request); try { _context.Questions.Add(question); await _context.SaveChangesAsync(); return(true); } catch { return(false); } }
public async Task <ActionResult <Question> > PostQuestion(QuestionVm questionVm) { if (!ModelState.IsValid) { return(BadRequest()); } var question = new Question { Category = Category.NotAnswered, QuestionText = questionVm.QuestionText }; _context.Questions.Add(question); await _context.SaveChangesAsync(); return(Ok(question)); }
public QuestionVm ShowRandomlySelectedQuestion(int categoryId, string username) { var questionsIdWithGoodRespondOfthisUser = _categoryAndQuestionRepo.GetQuestionIdsWhichUserRespondCorrectly(username); var questions = _categoryAndQuestionRepo.GetQuestionsByCategoryId(categoryId) .ProjectTo <QuestionVm>(_mapper.ConfigurationProvider).ToList(); for (int i = 0; i < questions.Count; i++) { if (questionsIdWithGoodRespondOfthisUser.Contains(questions[i].Id)) { questions.RemoveAt(i); i--; } } if (questions.Count == 0) { if (categoryId != -1) { var categoryRespondedCorrectlyByUser = new CategoryWithEveryQuestionsRespondedCorrectlyByUser() { Username = username, CategoryId = categoryId }; _categoryAndQuestionRepo.AddCategoryWithAllGoodRespondsByUser(categoryRespondedCorrectlyByUser); int idCategory = DrawCategory(username); var question1 = ShowRandomlySelectedQuestion(idCategory, username); return(question1); } else { QuestionVm questionVm1 = new QuestionVm() { Category = "empty" }; return(questionVm1); } } Random rnd = new Random(); int randomNumber = rnd.Next(0, questions.Count); var question = questions[randomNumber]; return(question); }
public ActionResult Create(QuestionVm question) { QuestionVm questionfromsession = (QuestionVm)Session["question"]; questionfromsession.numberChosed = question.numberChosed; question = questionfromsession; TestVm test = (TestVm)Session["test"]; HttpClient Client = new HttpClient(); Client.BaseAddress = new Uri("http://localhost:18080"); string choice; if (question.numberChosed.ToString().Equals("first")) { choice = question.syn1; } else if (question.numberChosed.ToString().Equals("second")) { choice = question.syn2; } else { choice = question.syn3; } HttpResponseMessage response = Client.GetAsync("/l4c_map-v2-web/rest/question/" + question.idQuestion + "/" + choice).Result; if (response.IsSuccessStatusCode) { int next = test.questions.IndexOf(question); if (choice.Equals(question.correct)) { test.mark++; } Session["test"] = test; next++; if (next < test.questions.Count()) { return(RedirectToAction("Create", "Question", new { number = next })); } } return(RedirectToAction("Create", "Test")); }
public static QuizVm MapToQuizVm(this Quiz quiz) { var result = new QuizVm(); result.Id = quiz.Id; result.Meta = new QuizMetaVm(); result.Meta.EndDate = quiz.EndDate; result.Meta.Reason = quiz.Reason; result.Meta.SelectedCategoryId = quiz.CategoryId; result.Meta.SelectedPriorityId = (int)quiz.PriorityId; result.Meta.SelectedTargets = CommonBc.Instance.GetTargets().Where(t => quiz.Targets.Contains(t.Id)).ToList().MapToCaptionSelectList( "Departments"); result.Meta.StartDate = quiz.StartDate; result.Meta.Title = quiz.Title; result.Questions = new List <QuestionVm>(); foreach (var question in quiz.Questions) { var qVm = new QuestionVm(); qVm.Enquiry = question.Enquiry; qVm.CanSkip = question.CanSkip; qVm.Id = question.Id; qVm.IsUserMeta = question.IsUserMeta; qVm.QuizId = quiz.Id; qVm.IsSingleSelect = question.IsSingleSelect; qVm.Answers = new List <AnswerVm>(); foreach (var answer in question.Answers) { var aVm = new AnswerVm(); aVm.Id = answer.Id; aVm.Caption = answer.Caption; aVm.QuestionId = question.Id.Value; } } return(result); }
public ActionResult Add(QuestionVm questionvm) { TestVm test = (TestVm)Session["testSelected"]; user user = (user)Session["user"]; if (questionvm.numberChosed.ToString().Equals("first")) { questionvm.correct = questionvm.syn1; } else if (questionvm.numberChosed.ToString().Equals("second")) { questionvm.correct = questionvm.syn2; } else { questionvm.correct = questionvm.syn3; } if (ModelState.IsValid) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:18080"); Question question = new Question() { correct = questionvm.correct, idQuestion = questionvm.idQuestion, numberChosed = questionvm.numberChosed, syn1 = questionvm.syn1, syn2 = questionvm.syn2, syn3 = questionvm.syn3, task = questionvm.task, test = questionvm.test }; client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.PostAsJsonAsync <Question>("/l4c_map-v2-web/rest/question/" + test.idTest, question).ContinueWith((postTask) => postTask.Result.EnsureSuccessStatusCode()); } return(Add(test)); }
private static StudentExamViewModel BuildExamVm(string studentName, Quiz quiz) { var examVm = new StudentExamViewModel(); examVm.StudentName = studentName; examVm.QuizId = quiz.Id; examVm.QuizText = quiz.QuizText; foreach (var question in quiz.Questions) { var questionVm = new QuestionVm(question.QuestionText); questionVm.QuestionId = question.Id; foreach (var answer in question.Answers) { var answerVm = new AnswerVm(); answerVm.Id = answer.Id; answerVm.AnswerText = answer.AnswerText; questionVm.Answers.Add(answerVm); } examVm.QuestionsList.Add(questionVm); } return(examVm); }