public static BindableCollection<QuestionModel> LoadQuestions() { BindableCollection<QuestionModel> Questions = new BindableCollection<QuestionModel>(); //Connection to the database using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { //Query var output = cnn.Query<QuestionModel>($"SELECT * FROM TopicQuestion LEFT JOIN Topic ON TopicQuestion.Topic = Topic.IdT JOIN Question ON TopicQuestion.Question = Question.IdQ", new DynamicParameters()); List<QuestionModel> outlist = output.ToList(); for (int i = 0; i < outlist.Count; i++) { if (outlist[i].ImageSource != null) { outlist[i].Image = ImageModel.ByteToBitmapImage(outlist[i].ImageSource); } Questions.Add(outlist[i]); } //Return the people as a lsit return Questions; } }
public static BindableCollection<QuestionModel> RandomQuestions(int num, int id) { BindableCollection<QuestionModel> Questions = new BindableCollection<QuestionModel>(); //Connection to the database using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { //Query var output = cnn.Query<QuestionModel>($"SELECT * FROM TopicQuestion LEFT JOIN Topic ON TopicQuestion.Topic = Topic.IdT JOIN Question ON TopicQuestion.Question = Question.IdQ WHERE Topic.idT = {id} ORDER BY random()", new DynamicParameters()); List<QuestionModel> outlist = output.ToList(); for (int i = 0; i < num; i++) { var outAnswers = cnn.Query<string>($"SELECT AnswerText FROM Answer WHERE Question={outlist[i].IdQ}", new DynamicParameters()); List<string> listAns = outAnswers.ToList(); BindableCollection<string> bindans = new BindableCollection<string>(); outlist[i].Answers = bindans; foreach (var ans in listAns) { outlist[i].Answers.Add(ans); } if (outlist[i].ImageSource != null) { outlist[i].Image = ImageModel.ByteToBitmapImage(outlist[i].ImageSource); } outlist[i].Number = i + 1; Questions.Add(outlist[i]); } //Return the people as a lsit return Questions; } }