コード例 #1
0
        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++;
                    }
                }
            }
        }
コード例 #2
0
        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"));
                }
            }
        }