public void InitializeData(ServiceInfo si) { serviceInfo = si; authorComboBox.Items.Add(""); var authors = serviceInfo.GetAuthors(subjectComboBox.Text); for (var i = 0; i < authors.Count; i++) { authorComboBox.Items.Add(serviceInfo.GetAuthors(subjectComboBox.Text)[i]); } authorComboBox.SelectedIndex = 0; subjectComboBox.Items.Add(""); var subjects = serviceInfo.GetSubjects(authorComboBox.Text); for (var i = 0; i < subjects.Count; i++) { subjectComboBox.Items.Add(serviceInfo.GetSubjects(authorComboBox.Text)[i]); } subjectComboBox.SelectedIndex = 0; isAuthorBlocked = false; isSubjectBlocked = false; }
public override void Execute(object @object) { if (!Enabled) { return; } ServiceInfo serviceInfo; using (var openFileDialog = new OpenFileDialog()) { openFileDialog.Title = "Открыть"; openFileDialog.Filter = "XML (*.xml)|*.xml"; if (!openFileDialog.ShowDialog().Equals(DialogResult.OK)) { return; } try { serviceInfo = new ServiceInfo(openFileDialog.FileName); } catch (Exception exception) { UIHelper.ShowMessage(operationCantBePerformedMessage, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } using (var oqd = new OuterQuestionDialog()) { oqd.InitializeData(serviceInfo); if (!oqd.ShowDialog(EditorObserver.DialogOwner).Equals(DialogResult.OK)) { return; } // Выбранные в диалоге вопросы. var outerQuestions = oqd.GetSelectedQuestions(); for (var i = 0; i < outerQuestions.Count; i++) { var q = PrepareOuterQuestion(); for (var j = 0; j < serviceInfo.Problems.Count; j++) { if (serviceInfo.Problems[j].Name.Equals(outerQuestions[i])) { q.Url = serviceInfo.Problems[j].Url; q.TaskId = serviceInfo.Problems[j].Id; q.TaskName = serviceInfo.Problems[j].Name; q.Declaration = serviceInfo.Problems[j].Declaration; q.Text = outerQuestions[i]; q.QuestionDocument.Text = q.Text; for (var k = 0; k < serviceInfo.task_number; k++) { if (serviceInfo.Problems[j].Task_number == serviceInfo.Tasks[k].Task_number) { q.TestId = serviceInfo.Tasks[k].Id; q.TestName = serviceInfo.Tasks[k].Name; for (var l = 0; l < serviceInfo.externaltest_number; l++) { if (serviceInfo.Tasks[k].Externaltest_number == serviceInfo.Externaltests[l].Externaltest_number) { q.SubjectName = serviceInfo.Externaltests[l].Name; } } } } } } EditorObserver.ActiveEditor.BodyInnerHtml = q.Declaration; } var cn = Warehouse.Warehouse.Instance.CourseTree.CurrentNode; Warehouse.Warehouse.Instance.CourseTree.CurrentNode = cn.Nodes[cn.Nodes.Count - 1] as CourseItem; Warehouse.Warehouse.IsProjectModified = true; } }