/// <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); }