/// <summary> /// Запись выписки в базу - общий метод /// </summary> /// <param name="ordderingProcessor"></param> private void WriteOrdering(OrderingProcessor ordderingProcessor) { ordderingProcessor.OpenExcelDoc(); ordderingProcessor.getOrderingInformation(); ordderingProcessor.CloseExcelDoc(); DbWorker dbWorker = new DbWorker(connection); dbWorker.OpenDB(); int idDiscipline = 0; if (ordderingProcessor.Characteristic.Specialization.CodeSpecialization == "") idDiscipline = dbWorker.GetRecord(new OleDbCommand("SELECT Дисциплины.Код FROM (Специальность INNER JOIN " + "(Специализация INNER JOIN УчебныйПлан ON Специализация.IDСпециализации = УчебныйПлан.КодСпециализации) ON " + "Специальность.IDСпециальности = УчебныйПлан.КодСпециальности) INNER JOIN (ОбщОбрПрограмма INNER JOIN " + "(НазвДисципл INNER JOIN Дисциплины ON НазвДисципл.КодНД = Дисциплины.КодНазвДисц) ON ОбщОбрПрограмма.КодООП = Дисциплины.КодООП) ON " + "УчебныйПлан.КодУчПлана = ОбщОбрПрограмма.КодУП " + "WHERE (((НазвДисципл.НазванДисципл)= '" + ordderingProcessor.Characteristic.Discipline + "') AND " + "((Специализация.НазвСпециализации)= '" + ordderingProcessor.Characteristic.Specialization.NameSpecialization + "') " + "AND ((Специальность.КодСпециальности)= '" + ordderingProcessor.Characteristic.Specialty.CodeSpecialty + "') " + "AND ((Специальность.НазвСпециальности)='" + ordderingProcessor.Characteristic.Specialty.NameSpecialty + "') " + "AND ((Специализация.КодСпециализации) Is Null))", dbWorker.DbCon)); else idDiscipline = dbWorker.GetRecord(new OleDbCommand("SELECT Дисциплины.Код FROM (Специальность INNER JOIN " + "(Специализация INNER JOIN УчебныйПлан ON Специализация.IDСпециализации = УчебныйПлан.КодСпециализации) ON " + "Специальность.IDСпециальности = УчебныйПлан.КодСпециальности) INNER JOIN (ОбщОбрПрограмма INNER JOIN " + "(НазвДисципл INNER JOIN Дисциплины ON НазвДисципл.КодНД = Дисциплины.КодНазвДисц) ON ОбщОбрПрограмма.КодООП = Дисциплины.КодООП) ON " + "УчебныйПлан.КодУчПлана = ОбщОбрПрограмма.КодУП " + "WHERE (((НазвДисципл.НазванДисципл)= '" + ordderingProcessor.Characteristic.Discipline + "') AND " + "((Специализация.НазвСпециализации)= '" + ordderingProcessor.Characteristic.Specialization.NameSpecialization + "') " + "AND ((Специальность.КодСпециальности)= '" + ordderingProcessor.Characteristic.Specialty.CodeSpecialty + "') " + "AND ((Специальность.НазвСпециальности)='" + ordderingProcessor.Characteristic.Specialty.NameSpecialty + "') " + "AND ((Специализация.КодСпециализации)= '" + ordderingProcessor.Characteristic.Specialization.CodeSpecialization + "'))", dbWorker.DbCon)); if (idDiscipline == 0) { MessageBox.Show("В базе данных не содержится учебный план, соответствующий дисциплине, специальности и специализации из импортируемого Вами темплана.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); dbWorker.CloseDB(); return; } //У ВЫПИСКИ ГОДА НЕТ? int plIzDisPoVidZan = dbWorker.WriteThematicPlanDb(idDiscipline, 0); dbWorker.WriteLessonsDb(ordderingProcessor.ListLessons, plIzDisPoVidZan); dbWorker.CloseDB(); }
/// <summary> /// Добавить выписку и записать в базу данных /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonAdd_Click(object sender, EventArgs e) { if (checkedListBoxCathedra.SelectedIndex < 0) return; int i = checkedListBoxCathedra.SelectedIndex; if (checkedListBoxCathedra.GetItemChecked(i)) { MessageBox.Show("Вероятно Вы выбрали дисциплину по которой уже добавлена выписка. Если хотите перезаписать информацию, уберите галочку напротив дисциплины", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string fileName = FileWorker.OpenExcelFile(); string numberlist = string.Empty; if (fileName != null) { FormDialogInputNumberList testDialog = new FormDialogInputNumberList(); // Show testDialog as a modal dialog and determine if DialogResult = OK. if (testDialog.ShowDialog(this) == DialogResult.OK) { // Read the contents of testDialog's TextBox. numberlist = testDialog.listName; } else { MessageBox.Show("Вы не ввели название листа. Повторите попытку", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } testDialog.Dispose(); string discipline = checkedListBoxCathedra.Items[i].ToString().Replace(" - ", "").Trim(); Characteristic characteristic = new Characteristic(i, fileName, numberlist, discipline, new Specialty(textBoxCodeSpecialty.Text, textBoxSpecialty.Text), new Specialization(textBoxCodeSpecialization.Text, textBoxSpecialization.Text)); OrderingProcessor ordderingProcessor = new OrderingProcessor(characteristic); WriteOrdering(ordderingProcessor); checkedListBoxCathedra.SetItemChecked(i, true); } }
/// <summary> /// Запись выписки полученной из сверки в базу /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonWriteOrderingDb_Click(object sender, EventArgs e) { if (checkedListBoxCathedra.SelectedIndex < 0) return; if (!checkedListBoxCathedra.GetItemChecked(checkedListBoxCathedra.SelectedIndex)) return; OrderingProcessor ordderingProcessor = new OrderingProcessor(verificator.GetCharacteristicAtIndex(checkedListBoxCathedra.SelectedIndex)); WriteOrdering(ordderingProcessor); }