Пример #1
0
        private GivenAnswer Transformer(GivenAnswerViewModel model, GivenAnswer answering)
        {
            answering.text     = model.text;
            answering.question = questiontransformer.Transform(model.questionViewModel);

            return(answering);
        }
Пример #2
0
 private GivenAnswerViewModel Transform(GivenAnswerViewModel model, GivenAnswer answering)
 {
     model.ID   = answering.ID;
     model.text = answering.text;
     model.questionViewModel = modelTransformer.Transform(answering.question);
     return(model);
 }
Пример #3
0
        public void SetAnswerCorrectness(int givenAnswerID, bool isCorrect)
        {
            GivenAnswer givenAnswer = db.givenAnswers.FirstOrDefault(g => g.givenAnswerID == givenAnswerID);

            givenAnswer.isCorrect = isCorrect;
            SaveChanges();
        }
Пример #4
0
        public ActionResult Submit([FromBody] SubmitModel model)
        {
            var token = _context.Tokens.SingleOrDefault(t => t.Token == model.Token);

            if (token == null)
            {
                return(BadRequest());
            }

            GivenAnswer answer = _context.GivenAnswers.SingleOrDefault(ga => ga.Owner.Id == token.Id && ga.Question.Id == model.Id);

            if (answer != null)
            {
                return(BadRequest());                // already answered
            }
            Question question = _context.Questions.Single(q => q.Id == model.Id);

            int[] answersIds = _context.QuestionOptions.Where(qo => qo.Question.Id == question.Id).Select(qo => qo.Id).ToArray();

            answer = new GivenAnswer()
            {
                Question = question,
                Owner    = token,
                SelectedQuestionOptions = model.Answers.Where(a => a.IsSelected && answersIds.Contains(a.Id))
                                          .Select(a => new GivenAnswerToQuestionOption()
                {
                    QuestionOptionId = a.Id
                }).ToList()
            };

            _context.GivenAnswers.Add(answer);
            _context.SaveChanges();

            return(Ok());
        }
Пример #5
0
        public GivenAnswer Transform(GivenAnswerViewModel model)
        {
            GivenAnswer answering = new GivenAnswer();

            answering = Transformer(model, answering);
            return(answering);
        }
Пример #6
0
    private async void timeElapsed()
    {
        foreach (var answer in Answers)
        {
            answer.Clickable = false;
        }


        timerAC.SetTrigger("TimeIsUp");
        await Task.Delay(1500);

        var questionId    = _currentGame.questions[_currentGame.currentQuestion - 1].questionId;
        var answerIndices = new List <int>();
        var givenAnswer   = new GivenAnswer
        {
            answerIndices     = answerIndices,
            questionId        = questionId,
            correctlyAnswered = false,
            elapsedSeconds    = -1
        };

        _currentGame.givenAnswers.Add(givenAnswer);


        nextQuestion();
    }
Пример #7
0
        public void setOpenAnswerScore(int givenAnswerID, int points)
        {
            GivenAnswer givenAnswer = db.givenAnswers.FirstOrDefault(t => t.givenAnswerID == givenAnswerID);

            givenAnswer.points = points;
            SaveChanges();
        }
Пример #8
0
        public GivenAnswerViewModel Transform(GivenAnswer answering)
        {
            var model = new GivenAnswerViewModel();

            model = Transform(model, answering);
            return(model);
        }
Пример #9
0
        private async Task HandleAnswer(GivenAnswer given)
        {
            currentAction = CurrentAction.ShowingRoundResult;
            answerTimer.Stop();

            Button pressedButton = null;

            if (given != GivenAnswer.Unknow)
            {
                pressedButton = (given == GivenAnswer.Yes) ? yesBtn : noBtn;
            }

            var givenAnswer = (Clause)pressedButton?.Tag;

            yesBtn.IsEnabled = noBtn.IsEnabled = false;

            if (pressedButton is null)
            {
                DecorateButton(yesBtn, ButtonDecoration.UserWrongAnswer);
                DecorateButton(noBtn, ButtonDecoration.UserWrongAnswer);
            }
            else
            {
                DecorateButton(pressedButton, givenAnswer.Id == rightAnswerForRound.Id ? ButtonDecoration.UserRightAnswer
                                                                                       : ButtonDecoration.UserWrongAnswer);
            }

            if (givenAnswer?.Id != rightAnswerForRound.Id)
            {
                PlayErrorSound();
            }

            //Collect answer info
            await SaveAnswerAsync(new TestAnswer {
                Word        = rightAnswerForRound,
                GivenAnswer = (pressedButton == yesBtn ? givenAnswer : null),
                Correct     = (givenAnswer?.Id == rightAnswerForRound.Id),
                Time        = DateTime.UtcNow - answerTime
            });

            await Task.Delay(1000); //Delay for showing the answer

            if (currentAction != CurrentAction.ShowingRoundResult)
            {
                return; //Probably the window is closed already
            }
            //Automatically go to the next round
            currentRound++;
            await NextRoundAsync();
        }
Пример #10
0
    private async void answerPressed(bool isRight, int index)
    {
        questionStarted = false;
        foreach (var answer in Answers)
        {
            answer.Clickable = false;
        }

        var questionId    = _currentGame.questions[_currentGame.currentQuestion - 1].questionId;
        var answerIndices = new List <int> {
            index
        };
        var givenAnswer = new GivenAnswer
        {
            answerIndices     = answerIndices,
            questionId        = questionId,
            correctlyAnswered = isRight,
            elapsedSeconds    = elapsedTime.Seconds
        };

        _currentGame.givenAnswers.Add(givenAnswer);

        if (isRight)
        {
            _currentGame.score += _config.SecondsPerDifficulty[_currentGame.difficulty - 1] * (_currentGame.withTimer ? 2 : 1);
            _currentGame.rightAnswerCount++;
            await Task.Delay(1000);

            nextQuestion();
        }
        else
        {
            await Task.Delay(1000);

            nextQuestion();
        }
    }
Пример #11
0
        public IForm <JObject> BuildJsonForm()
        {
            OnCompletionAsyncDelegate <JObject> processResult = async(context, state) =>
            {
                state.Remove("Confirmation");
                //List<int> IDquestions = new List<int>();
                List <HelperClass> list = new List <HelperClass>();

                int j = 0;
                // Iterate the responses and do what you like here
                foreach (JProperty item in (JToken)state)
                {
                    int    questionID = Int32.Parse(item.Name.ToString()) - 100;
                    string answer     = item.Value.ToString();

                    int questionTypeID = _userService.GetQuestionTypeID(questionID);

                    // int questionTypeID = questionType.questionTypeID;
                    if (questionTypeID == 3)               //"wielokrotnego wyboru")
                    {
                        string an   = answer.Remove(0, 6); //.Remove(answer.Length - 1, 1);
                        string answ = an.Remove(an.Length - 4, 4);

                        string[] answers = answ.Split(',');
                        if (answers.Count() != 1)
                        {
                            for (int i = 0; i < answers.Count(); i++)
                            {
                                string oneAnswer = answers[i];
                                if (i == 0)
                                {
                                    an         = oneAnswer.Remove(oneAnswer.Length - 1, 1);
                                    answers[i] = an;
                                    HelperClass helper = new HelperClass(questionID, an);
                                    list.Add(helper);
                                }

                                else if (i == answers.Count() - 1)
                                {
                                    an         = oneAnswer.Remove(0, 5);
                                    answers[i] = an;
                                    HelperClass helper = new HelperClass(questionID, an);
                                    list.Add(helper);
                                }
                                else
                                {
                                    an         = oneAnswer.Remove(0, 5);
                                    oneAnswer  = an;
                                    an         = oneAnswer.Remove(oneAnswer.Length - 1, 1);
                                    answers[i] = an;
                                    HelperClass helper = new HelperClass(questionID, an);
                                    list.Add(helper);
                                }
                            }
                        }
                        else
                        {
                            HelperClass helper = new HelperClass(questionID, answ);
                            list.Add(helper);
                        }
                    }
                    else if (questionTypeID == 2)//jednokrotnego wyboru
                    {
                        HelperClass helper = new HelperClass(questionID, answer);
                        list.Add(helper);
                    }
                    else if (questionTypeID == 1)//Pytanie otwarte
                    {
                        HelperClass helper = new HelperClass(questionID, answer);
                        list.Add(helper);
                    }
                    else//Pytanie otwarte i jednokrotnego wyboru
                    {
                        await context.PostAsync("Coś się zjebało się");
                    }
                }
                foreach (HelperClass item in list)
                {
                    GivenAnswer givenAnswer = _userService.CreateGivenAnswer(testID, item.questionID, item.answer);
                    _userService.AddGivenAnswer(givenAnswer);
                }
                _userService.FinalizingTest(testID);//, TimeSpan.MinValue);
                await context.PostAsync("xd");

                // await context.PostAsync(msg);
                await context.PostAsync("Thanks for completing our test");
            };


            var schema = JObject.Parse(_jsonProvider.GetJsonForTest(testID));

            return(new FormBuilderJson(schema)
                   .AddRemainingFields()
                   .OnCompletion(processResult)
                   .Build());


            //using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BotChat.schema.json"))
            //{
            //    JsonProvider.GetJsonForTest();
            //    var schema = JObject.Parse(new StreamReader(stream).ReadToEnd());
            //    return new FormBuilderJson(schema)
            //        .AddRemainingFields()
            //        .Build();
            //}
        }
Пример #12
0
        public GivenAnswerVM GetGivenAnswer(int givenAnswerID)
        {
            GivenAnswer g = _adminRepository.GetGivenAnswer(givenAnswerID);

            return(MapGivenAnswerToViewModel(g));
        }
Пример #13
0
        public GivenAnswerVM GetGivenAnswer(int?testID, int questionID)
        {
            GivenAnswer givenAnswer = _adminRepository.GetGivenAnswer(testID, questionID);

            return(MapGivenAnswerToViewModel(givenAnswer));
        }
Пример #14
0
 public void AddGivenAnswer(GivenAnswer givenAnswer)
 {
     db.givenAnswers.Add(givenAnswer);
     SaveChanges();
 }
Пример #15
0
 public GivenAnswer EditGivenAnswer(GivenAnswer givenAnswer, string newAnswer)
 {
     givenAnswer.answer = newAnswer;
     SaveChanges();
     return(givenAnswer);
 }
Пример #16
0
 public void AddGivenAnswer(GivenAnswer givenAnswer)
 {
     _userRepository.AddGivenAnswer(givenAnswer);
 }
Пример #17
0
 public void AddGivedAnswer(GivenAnswer givenanswer)
 {
     Context.Add(givenanswer);
     Context.SaveChanges();
 }
Пример #18
0
 public GivenAnswer EditGivenAnswer(GivenAnswer givenAnswer, string newAnswer)
 {
     return(_userRepository.EditGivenAnswer(givenAnswer, newAnswer));
 }
Пример #19
0
        public GivenAnswerVM MapGivenAnswerToViewModel(GivenAnswer givenAnswer)
        {
            GivenAnswerVM givenAnswerVM = _mapper.Map <GivenAnswerVM>(givenAnswer);

            return(givenAnswerVM);
        }
Пример #20
0
        public GivenAnswer MapGivenAnswerToModel(GivenAnswerVM givenAnswerVM)
        {
            GivenAnswer givenAnswer = _mapper.Map <GivenAnswer>(givenAnswerVM);

            return(givenAnswer);
        }
Пример #21
0
 private GivenAnswerViewModel Transform(GivenAnswerViewModel model, GivenAnswer answering)
 {
     model.ID   = answering.ID;
     model.text = answering.text;
     return(model);
 }