public void deleteQuestion(int id) { IntHierarchy hi = searcher.getQuestionPosition(store, id); if (!hi.getLastListType().Equals(new Question().GetType())) { throw new GoTestObjectNotFound(); } else { store.ElementAt(hi.value).Tests.ElementAt(hi.getChild().value). Questions.ElementAt(hi.getChild().getChild().value).IsDeleted = true; notifyObservers(); } }
public void notify() { CreateTestView createTestView = new CreateTestView(form, adapter, model); if (Navigator.Navigator.getInstance().getCurrentViewsName().Equals(getName()) | Navigator.Navigator.getInstance().getCurrentViewsName(). Equals(createTestView.getName())) { int questionId = -1; int selectedQuestionPosition = -1; try { for (int i = 0; i < adapter.getResult().Count; i++) { if (adapter.getResult().ElementAt(i).IsSelected) { questionId = adapter.getResult().ElementAt(i).getSelectedTest(). getSelectedQuestion().Id; } } } catch (Exception ex) { } adapter.adapte(model.getResult()); List <VSubject> subjects = adapter.getResult(); int subjectPos = -1; int testPos = -1; for (int i = 0; i < subjects.Count; i++) { for (int s = 0; s < subjects.ElementAt(i).Tests.Count; s++) { if (subjects.ElementAt(i).Tests.ElementAt(s).Questions.Count > 0) { subjectPos = i; testPos = s; break; } } if (subjectPos != -1) { break; } } if (subjectPos != -1) { adapter.getResult().ElementAt(subjectPos).IsSelected = true; adapter.getResult().ElementAt(subjectPos).Tests.ElementAt(testPos).IsSelected = true; form.dataGridView2Elem.Rows.Clear(); if (questionId != -1) { try { TestObjectsSearcher searcher = new TestObjectsSearcher(); int selectedSubjectPosition = searcher.getSelectedSubject(adapter.getResult()); selectedQuestionPosition = searcher.getQuestionPosition( adapter.getResult().ElementAt(selectedSubjectPosition).getSelectedTest(). Questions, questionId); adapter.getResult().ElementAt(selectedSubjectPosition).getSelectedTest(). Questions.ElementAt(selectedQuestionPosition).IsSelected = true; VQuestion question = adapter.getResult().ElementAt(selectedSubjectPosition).getSelectedTest(). Questions.ElementAt(selectedQuestionPosition); form.dataGridView2Elem.Rows.Add(question.Unswers.Count); form.dataGridView2Elem.Rows[0].Selected = false; for (int i = 0; i < question.Unswers.Count; i++) { form.dataGridView2Elem.Rows[i].Cells[0].Value = question.Unswers.ElementAt(i).Content; if (question.Unswers.ElementAt(i).IsRight) { form.dataGridView2Elem.Rows[i].Cells[1].Value = "+"; } } } catch (Exception ex) { } } VTest test = subjects.ElementAt(subjectPos).Tests.ElementAt(testPos); form.dataGridView1Elem.Rows.Clear(); form.dataGridView1Elem.Rows.Add(test.Questions.Count); for (int i = 0; i < test.Questions.Count; i++) { for (int s = 0; s < test.Questions.Count; s++) { if (test.Questions.ElementAt(s).getPosition() == i) { form.dataGridView1Elem.Rows[i].Cells[0].Value = test.Questions. ElementAt(s).QuestionsContent; } } } if (form.dataGridView1Elem.RowCount > 0) { form.dataGridView1Elem.Rows[0].Selected = false; } if (selectedQuestionPosition != -1) { form.dataGridView1Elem.Rows[selectedQuestionPosition].Selected = true; } } } }