private void button3_Click(object sender, EventArgs e) { DbWorker dbWorker; OpenFileDialog ofdOpen = new OpenFileDialog(); if (ofdOpen.ShowDialog() != DialogResult.OK) return; dbWorker = new DbWorker("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + ofdOpen.FileName); ofdOpen.Dispose(); try { dbWorker.OpenDB(); } catch (TypeInitializationException error) { MessageBox.Show(error.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } dbWorker.WriteLessonsDb(tableProcessor.ListLessons,1); dbWorker.CloseDB(); }
private void buttonWriteThemDb_Click(object sender, EventArgs e) { DbWorker dbWorker = new DbWorker(connection); try { dbWorker.OpenDB(); } catch (TypeInitializationException error) { //MessageBox.Show(error.Message, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); } int plIzDisPoVidZan = dbWorker.WriteThematicPlanDb(thematicPlanProcessor.IdDiscipline, thematicPlanProcessor.Year); dbWorker.WriteLessonsDb(tableProcessor.ListLessons, plIzDisPoVidZan); dbWorker.CloseDB(); }
/// <summary> /// Вставка данных в комбобокс ФГОС из БД /// </summary> /// <param name="parStringConnection">Строка для соединения (адрес базы)</param> public void inputStartData(String parStringConnection) { DbWorker dbWorker = new DbWorker(connection); try { dbWorker.OpenDB(); } catch (TypeInitializationException error) { //MessageBox.Show(error.Message, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); } foreach (string str in dbWorker.GetListRecords("SELECT ПоколениеФГОС.НазвФГОС FROM ПоколениеФГОС")) { comboBoxFGOS.Items.Add(str); } foreach (string str in dbWorker.GetListRecords("SELECT НазвСпециальности FROM Специальность")) { comboBoxSpecialty.Items.Add(str); } foreach (string str in dbWorker.GetListRecords("SELECT КодСпециальности FROM Специальность")) { comboBoxCodeSpecialty.Items.Add(str); } foreach (string str in dbWorker.GetListRecords("SELECT НазвСпециализации FROM Специализация")) { comboBoxSpecialization.Items.Add(str); } foreach (string str in dbWorker.GetListRecords("SELECT КодСпециализации FROM Специализация")) { comboBoxCodeSpecialization.Items.Add(str); } dbWorker.CloseDB(); }
/// <summary> /// Вставка данных в комбобокс Учебный план из БД /// </summary> /// <param name="parStringConnection">Строка для соединения (адрес базы)</param> public void inputStartData(String parStringConnection) { listEdPlans.Clear(); DbWorker dbWorker = new DbWorker(connection); try { dbWorker.OpenDB(); } catch (TypeInitializationException error) { //MessageBox.Show(error.Message, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); } listEdPlans=dbWorker.GetListEducationalPlans(); foreach (EducationalPlan edPlan in listEdPlans) { comboBoxIdEdPlan.Items.Add(edPlan.IdInBase+"| "+edPlan.Specialty+" "+edPlan.Specialization); } dbWorker.CloseDB(); }
private void buttonWriteEdDb_Click(object sender, EventArgs e) { try { EdPlanProcessor.EducationalPlan.Specialty.CodeSpecialty = this.textBoxCodeSpecialty.Text; EdPlanProcessor.EducationalPlan.Specialty.NameSpecialty = this.textBoxSpecialty.Text; EdPlanProcessor.EducationalPlan.Specialization.CodeSpecialization = this.textBoxCodeSpecialization.Text; EdPlanProcessor.EducationalPlan.Specialization.NameSpecialization = this.textBoxSpecialization.Text; EdPlanProcessor.EducationalPlan.Fgos = comboBoxFGOS.Text; EdPlanProcessor.EducationalPlan.LevelEducation = this.comboBoxLevelEducation.Text; EdPlanProcessor.EducationalPlan.Year = int.Parse(this.comboBoxYear.Text); DbWorker dbWorker = new DbWorker(connection); try { dbWorker.OpenDB(); } catch (TypeInitializationException error) { //MessageBox.Show(error.Message, "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); } dbWorker.WriteEducationalPlanDB(EdPlanProcessor.EducationalPlan); dbWorker.WriteEducationalProgramsDB(EdPlanProcessor.ListEducationalPrograms, EdPlanProcessor.EducationalPlan.IdEducationalPlan); dbWorker.CloseDB(); } catch (System.NullReferenceException) { MessageBox.Show("Не удалось выполнить запись, проверьте корректность введенных данных. \nВозможно вы не выбрали один из файлов", "Ошибка при попытке записи", MessageBoxButtons.OK); } }
/// <summary> /// Проверка наличия ТП по дисциплинам из УП в БД /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonCheckThemPlanDiscDb_Click(object sender, EventArgs e) { List<string> listDisciplines = new List<string>(); Regex regex = new Regex(@"\D"); if ((regex.Replace(comboBoxIdEdPlan.Text.Substring(0, comboBoxIdEdPlan.Text.IndexOf('|')), "").Trim() == string.Empty)) { MessageBox.Show("Неверный Код Учебного плана", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } DbWorker dbWorker = new DbWorker(connection); dbWorker.OpenDB(); int parIdEdPlan = int.Parse(comboBoxIdEdPlan.Text.Substring(0, comboBoxIdEdPlan.Text.IndexOf('|'))); listDisciplines = dbWorker.GetListDisciplines("SELECT НазвДисципл.НазванДисципл FROM УчебныйПлан " + " INNER JOIN (ОбщОбрПрограмма INNER JOIN (НазвДисципл INNER JOIN " + " (Дисциплины INNER JOIN ТемПлан ON Дисциплины.Код = ТемПлан.КодДисц) ON НазвДисципл.КодНД = Дисциплины.КодНазвДисц) " + " ON ОбщОбрПрограмма.КодООП = Дисциплины.КодООП) ON УчебныйПлан.КодУчПлана = ОбщОбрПрограмма.КодУП " + " WHERE (((ТемПлан.КодТП) Is Not Null) AND ((УчебныйПлан.КодУчПлана)= "+ parIdEdPlan.ToString()+" )) "); dbWorker.CloseDB(); inputChekingDataInBox(listDisciplines); }
/// <summary> /// Копировать в поля инфу из БД /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { textBoxCodeSpecialty.Text = textBoxDataInBaseCodeSpecialty.Text; textBoxSpecialty.Text = textBoxDataInBaseNameSpecialty.Text; textBoxSpecialization.Text = textBoxDataInBaseNameSpecialization.Text; textBoxCodeSpecialization.Text = textBoxDataInBaseCodeSpecialization.Text; if (comboBoxIdEdPlan.Text == "") return; DbWorker dbWorker = new DbWorker(connection); dbWorker.OpenDB(); int parIdEdPlan = int.Parse(comboBoxIdEdPlan.Text.Substring(0, comboBoxIdEdPlan.Text.IndexOf('|'))); inputEdTableData(dbWorker.GetListDisciplines("SELECT НазвДисципл.НазванДисципл FROM НазвДисципл INNER JOIN " + "(УчебныйПлан INNER JOIN (ОбщОбрПрограмма INNER JOIN Дисциплины ON ОбщОбрПрограмма.КодООП = Дисциплины.КодООП) " + " ON УчебныйПлан.КодУчПлана = ОбщОбрПрограмма.КодУП) ON НазвДисципл.КодНД = Дисциплины.КодНазвДисц " + " WHERE (УчебныйПлан.КодУчПлана)= " + parIdEdPlan.ToString())); dbWorker.CloseDB(); }
/// <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(); }
private void buttonCheckHours_Click(object sender, EventArgs e) { if (thematicPlanProcessor == null || tableProcessor==null) return; this.thematicPlanProcessor.Specialization.CodeSpecialization = this.textBoxCodeSpecialization.Text; this.thematicPlanProcessor.Specialization.NameSpecialization = this.textBoxSpecialization.Text; this.thematicPlanProcessor.Specialty.CodeSpecialty = this.textBoxCodeSpecialty.Text; this.thematicPlanProcessor.Specialty.NameSpecialty = this.textBoxSpecialty.Text; this.thematicPlanProcessor.Discipline = this.textBoxNameDisc.Text; this.thematicPlanProcessor.Year = int.Parse(this.comboBoxYear.Text); DbWorker dbWorker = new DbWorker(connection); dbWorker.OpenDB(); int idDiscipline=0; if (this.thematicPlanProcessor.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 (((НазвДисципл.НазванДисципл)= '" + this.thematicPlanProcessor.Discipline + "') AND "+ "((Специализация.НазвСпециализации)= '" + this.thematicPlanProcessor.Specialization.NameSpecialization + "') " + "AND ((Специальность.КодСпециальности)= '" + this.thematicPlanProcessor.Specialty.CodeSpecialty + "') " + "AND ((Специальность.НазвСпециальности)='" + this.thematicPlanProcessor.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 (((НазвДисципл.НазванДисципл)= '" + this.thematicPlanProcessor.Discipline + "') AND " + "((Специализация.НазвСпециализации)= '" + this.thematicPlanProcessor.Specialization.NameSpecialization + "') " + "AND ((Специальность.КодСпециальности)= '" + this.thematicPlanProcessor.Specialty.CodeSpecialty + "') " + "AND ((Специальность.НазвСпециальности)='" + this.thematicPlanProcessor.Specialty.NameSpecialty + "') " + "AND ((Специализация.КодСпециализации)= '" + this.thematicPlanProcessor.Specialization.CodeSpecialization + "'))", dbWorker.DbCon)); if (idDiscipline == 0) { MessageBox.Show("В базе данных не содержится учебный план, соответствующий дисциплине, специальности и специализации из импортируемого Вами темплана.", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); dbWorker.CloseDB(); return; } this.thematicPlanProcessor.IdDiscipline = idDiscipline; int totalHours = dbWorker.GetRecord(new OleDbCommand("SELECT Дисциплины.ЧасВсего FROM Дисциплины "+ "WHERE (((Дисциплины.Код)= "+idDiscipline+"))", dbWorker.DbCon)); int classHours = dbWorker.GetRecord(new OleDbCommand("SELECT Дисциплины.ЧасАудиторных FROM Дисциплины " + "WHERE (((Дисциплины.Код)= " + idDiscipline + "))", dbWorker.DbCon)); textBoxClassHoursEdPlan.Text = classHours.ToString(); textBoxTotalHoursEdPlan.Text=totalHours.ToString(); dbWorker.CloseDB(); int totalHoursThemePlan=0; int classHoursThemePlan=0; foreach (Lesson les in tableProcessor.ListLessons) { totalHoursThemePlan = totalHoursThemePlan + les.SelfHours; classHoursThemePlan = classHoursThemePlan + les.Hours; } totalHoursThemePlan = totalHoursThemePlan + classHoursThemePlan; textBoxClassHoursThemPlan.Text = classHoursThemePlan.ToString(); textBoxTotalHoursThemPlan.Text = totalHoursThemePlan.ToString(); if (CheckHours()) buttonWriteThemDb.Enabled = true; else MessageBox.Show("Общая сумма часов по ТП не совпадает с количеством часов по соответствующему учебному плану. Для продолжения импорта со значениями часов из ТП выберите \"Игнорировать проверку\".", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); }