Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 public async Task <IActionResult> EditQuestion(int questionId, [FromBody] QuestionVm request)
 {
     if (await _questionService.EditQuestion(questionId, request))
     {
         return(Ok("Successfull"));
     }
     return(BadRequest("Question is exist"));
 }
Beispiel #4
0
 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"));
        }
Beispiel #10
0
        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));
        }
Beispiel #12
0
        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);
        }