public void GetQuestionsFromDatabase(int questionsEachCategory) { DatabaseConnection.ReadQuestionOptions options = new DatabaseConnection.ReadQuestionOptions { Number = questionsEachCategory }; List <Question> questions = DatabaseConnection.ReadQuestionsFromDatabase(options); foreach (Question question in questions) { CategoryQuestions catQuest = CategoryQuestionList.FirstOrDefault(q => q.Category == question.CategoryList[0]); if (catQuest == null) { CategoryQuestions catQ = new CategoryQuestions { Category = question.CategoryList[0], //TODO: Needs to be fixed for multi category systems Questions = new List <Question>() }; catQ.Questions.Add(question); CategoryQuestionList.Add(catQ); } else { catQuest.Questions.Add(question); } } CategoryQuestionList = CategoryQuestionList.OrderBy(x => Random.value).ToList(); }
public void SearchQuestions() { string value = EditQuestionPanel.GetSelectedDifficulty(); List <int> weights = new List <int> { -1 }; if (value != "All") { weights[0] = Int32.Parse(value); } string selectedCat = EditQuestionPanel.GetSelectedCategory(); List <Category> category = new List <Category>(); if (selectedCat == "All") { category = Categories; } else { category.Add(new Category { Name = selectedCat }); } DatabaseConnection.ReadQuestionOptions options = new DatabaseConnection.ReadQuestionOptions { CategoryFilter = category, WeightFilter = weights, RandomOrder = false, CategoryActive = false, IsActive = false }; List <Question> questions = DatabaseConnection.ReadQuestionsFromDatabase(options); EditQuestionPanel.RespawnQuestions(questions); }