private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { try { using (DBWokrSql db = new DBWokrSql(Connection)) { var levels_ = (Dictionary <int, string>)db.GetLevels(); var topics_ = (Dictionary <int, string>)db.GetTopics(); var qq = new Dictionary <QuestionInfo, IEnumerable <AnswerInfo> >(); foreach (var item in db.GetIDQuestions(0, 0)) { var question_ = db.GetQuestion(item); var answers_ = db.GetAnswers(item); qq.Add(question_, answers_); } e.Cancel = false; e.Result = new { lev = levels_, topi = topics_, q = qq }; } } catch (Exception ex) { e.Cancel = false; e.Result = "Не має зв`язку з базою: " + ex.Message; } }
void SearchQuestion() { try { currentQuestions = new Dictionary <QuestionInfo, IEnumerable <AnswerInfo> >(); var a = (comboBox1.SelectedItem as Data) == null ? 0 : (comboBox1.SelectedItem as Data).ID; var b = (comboBox.SelectedItem as Data) == null ? 0 : (comboBox.SelectedItem as Data).ID; currentQuestions.Clear(); using (DBWokrSql db = new DBWokrSql(Connection)) { foreach (var item in db.GetIDQuestions(a, b)) { var question_ = db.GetQuestion(item); var answers_ = db.GetAnswers(item); currentQuestions.Add(question_, answers_); } } labelSearch.Content = "Знайдено :" + currentQuestions.Keys.Count; if (currentQuestions.Keys.Count == 0) { frameView.Navigate(new UserControlNewQuestion(Connection)); return; } currentQuest = 0; var Cquest = currentQuestions.Keys.ElementAt(currentQuest); frameView.Navigate(new UserControlNewQuestion(Connection, currentQuest, currentQuestions.Keys.Count, Cquest, currentQuestions[Cquest])); } catch (Exception ex) { MessageBox.Show("Search Question " + ex.Message); } }