public override void OnEnter() { if (Settings.IsOfflineMode) { MessageBox.Show("Dit scherm is niet beschikbaar in offline mode."); _router.GoBack(); return; } TemplateQuestions.Clear(); if (ViewBag?.Template == null) { Checklist = new Checklist(); return; } Checklist = ViewBag.Template.GetCleanModel(); const string regex = "\\s{1}[Vv]{1}\\d{1,}$"; if (Regex.Match(Checklist.Name, regex).Success) { Checklist.Name = Regex.Replace(Checklist.Name, regex, string.Empty); } Checklist.Name += $" v{Checklist.Version}"; RaisePropertyChanged(nameof(Checklist)); _checklistQuestionRepository.GetChecklistQuestions(Checklist.Parent).ForEach(q => TemplateQuestions.Add(q.GetCleanModel())); _questionRepository.All().ForEach(ExistingQuestions.Add); }
public Action AddQuizCommand( User user, Message message, QueueMessage nextFalseMessage, QueueMessage wrongMessage) { var answer = message.Text; return(() => { if (Compare(answer, "Викторина") || Compare(answer, "Да")) { var result = _resultRepository.AddUserQuiz(user); // generating answers from all questions var answers = _questionRepository.All().Select(q => new QuestionAnswer { QuestionId = q.Id, Point = 0, IsAnswered = false }).ToArray(); // random sort answers var random = new Random(); var randomNumbers = answers.Select(r => random.Next()).ToArray(); var orderedAnswers = answers.Zip(randomNumbers, (r, o) => new { Result = r, Order = o }) .OrderBy(o => o.Order) .Select(o => o.Result); result.QuestionAnswers.AddRange(orderedAnswers); _resultRepository.UpdateQuestionsForUser(result); _userRepository.SetQuizMember(user.ChatId, true); // add first question HandleNewQuestion(result, message); } else if (Compare(answer, "Опрос") || Compare(answer, "Нет")) { _userRepository.SetQuizMember(user.ChatId, false); _queueService.Add(nextFalseMessage); } else { _queueService.Add(wrongMessage); } }); }
public IQueryable <QuestionInfo> Query(Expression <Func <DbModel.QuestionInfo, bool> > expression) { IEnumerable <DbModel.QuestionInfo> questions = _repository.All(expression); List <QuestionInfo> results = new List <QuestionInfo>(); foreach (DbModel.QuestionInfo question in questions) { QuestionInfo result = new QuestionInfo(); result.Id = question.Id; result.Name = question.QuestionName; result.QuestionScore = question.QuestionScore; result.QuestionType = (QuestionType)question.QuestionType; result.QuestionGroupName = question.QuestionGroupName; //result.Solutions = QuerySolutions(question.Solutions); results.Add(result); } foreach (QuestionInfo item in results) { item.Solutions = QuerySolutions(item.Id); } return(results.AsQueryable <QuestionInfo>()); }
public ActionResult Index() { IEnumerable <Question> model = repository.All().Reverse(); return(View(model)); }