private void build() { this.PackStart(new Label { Markup = "<b><big>" + m_Category + "</big></b>", UseMarkup = true }, false, false, 35); int buttonCount = 0; using (var connection = new HyenaSqliteConnection(QuestionProvider.dbPath)) { var provider = new QuestionProvider(connection); var levels = provider.FetchAll().Where(q => q.HowOftenAsk == 0 && q.Category == m_Category).Select(q => q.DifficultyLevel).Distinct().ToList(); levels.Sort(); foreach (var level in levels) { var questions = provider.FetchAll().Where(q => q.HowOftenAsk == 0 && q.DifficultyLevel == level && q.Category == m_Category); if (generateButton(questions)) { buttonCount++; } } } }
void build() { using (var connection = new HyenaSqliteConnection(QuestionProvider.dbPath)) { var provider = new QuestionProvider(connection); var questions = provider.FetchAll(); var questCategories = questions.Where(q => q.HowOftenAsk == 0).Select(q => q.Category).Distinct().ToList(); int questCategoriesCount = questCategories.Count(); var categories = new List <string> (); if (questCategoriesCount > 3) { do { var rand = new Random(DateTime.Now.Millisecond); int r = 0; if (questCategoriesCount > 1) { r = rand.Next(0, questCategoriesCount); } categories.Add(questCategories [r]); categories = categories.Distinct().ToList(); } while (categories.Count < 3); } else { categories = questCategories.ToList(); } foreach (var cat in categories) { this.Add(new DifficultLevelButtons(cat)); } if (questCategoriesCount == 0) { this.Add(new Label("Keine Fragen mehr vorhanden")); } } }