private void inputEdTitulData(EducationalPlan parEdPlan) { this.textBoxCodeSpecialty.Text = parEdPlan.Specialty.CodeSpecialty; this.textBoxSpecialty.Text = parEdPlan.Specialty.NameSpecialty; this.textBoxCodeSpecialization.Text = parEdPlan.Specialization.CodeSpecialization; this.textBoxSpecialization.Text = parEdPlan.Specialization.NameSpecialization; this.comboBoxYear.Text = parEdPlan.Year.ToString(); this.comboBoxLevelEducation.Text = parEdPlan.LevelEducation; }
/// <summary> /// Запись Учебного Плана в базу /// </summary> /// <param name="parEducationalPlan">Учебный план</param> public void WriteEducationalPlanDB(EducationalPlan parEducationalPlan) { // //А стоит ли записывать если нету такой??? // //специальность проверяем есть ли такая, если нет - записываем в базу CheckExistSpeciality(parEducationalPlan.Specialty); if (parEducationalPlan.Specialization!=null) //специализация проверяем есть ли такая, если нет - записываем в базу CheckExistSpecialization(parEducationalPlan.Specialization,parEducationalPlan.Specialty); //запрос на существование такой записи УП в бд //формирование параметров //ID уровня образования OleDbParameter paramCodeEducatLevel1 = new OleDbParameter(); paramCodeEducatLevel1 = GetIDEducationalLevel(parEducationalPlan); int paramCodeEducatLevel = (int)paramCodeEducatLevel1.Value; // command.Parameters.Add(paramCodeEducatLevel); //ID специальности /* OleDbParameter paramCodeSpecialty = new OleDbParameter(); paramCodeSpecialty = new OleDbParameter(); paramCodeSpecialty.ParameterName = "@IDSPECIALITY";*/ //получаем значения КодСпециальности с помощью запроса к таблице-справочнику int paramCodeSpecialty = GetRecord(new OleDbCommand("SELECT IDСпециальности FROM Специальность WHERE НазвСпециальности = '"+parEducationalPlan.Specialty.NameSpecialty+ "' AND КодСпециальности = '"+parEducationalPlan.Specialty.CodeSpecialty+"'",dbCon)); /* paramCodeSpecialty.OleDbType = OleDbType.Integer; command.Parameters.Add(paramCodeSpecialty);*/ //ID специализации /* OleDbParameter paramCodeSpecialization = new OleDbParameter(); paramCodeSpecialization = new OleDbParameter(); paramCodeSpecialization.ParameterName = "@IDSPECIALIZATION";*/ int paramCodeSpecialization; //получаем значения КодСпециализации с помощью запроса к таблице-справочнику if (parEducationalPlan.Specialization.CodeSpecialization==string.Empty) paramCodeSpecialization = GetRecord(new OleDbCommand("SELECT IDСпециализации FROM Специализация WHERE КодСпециализации is NULL" + " AND НазвСпециализации = '" + parEducationalPlan.Specialization.NameSpecialization + "' AND Спецть = " + paramCodeSpecialty, dbCon)); else paramCodeSpecialization = GetRecord(new OleDbCommand("SELECT IDСпециализации FROM Специализация WHERE КодСпециализации ='" + parEducationalPlan.Specialization.CodeSpecialization + "' AND НазвСпециализации = '" + parEducationalPlan.Specialization.NameSpecialization + "' AND Спецть = " + paramCodeSpecialty,dbCon)); /*paramCodeSpecialization.OleDbType = OleDbType.Integer; command.Parameters.Add(paramCodeSpecialization);*/ //ID ФГОС /* OleDbParameter paramCodeFgos = new OleDbParameter(); paramCodeFgos = new OleDbParameter(); paramCodeFgos.ParameterName = "@IDFGOS"; paramCodeFgos.IsNullable = true;*/ string paramCodeFgos; if (parEducationalPlan.Fgos == "") paramCodeFgos = "NULL"; else paramCodeFgos = GetRecord(new OleDbCommand("SELECT * FROM ПоколениеФГОС WHERE НазвФГОС= '" + parEducationalPlan.Fgos + "'", dbCon)).ToString(); // paramCodeFgos.OleDbType = OleDbType.Integer; /*if (parEducationalPlan.Fgos == "") command.CommandText = "SELECT КодУрОбаз,КодСпециальности,КодСпециализации,КодФГОС, Год " + " FROM УчебныйПлан WHERE КодУрОбаз = @CODEEDUCATLEVEL " + " AND КодСпециальности = @IDSPECIALITY" + " AND КодСпециализации = @IDSPECIALIZATION" + " AND КодФГОС is NULL" + " AND Год = @IDYEAR"; else { command.Parameters.Add(paramCodeFgos); }*/ // OleDbParameter paramIDYear = new OleDbParameter(); int paramIDYear = (int)GetIDYear(parEducationalPlan.Year).Value; // command.Parameters.Add(paramIDYear); OleDbCommand command = new OleDbCommand("SELECT КодУрОбаз,КодСпециальности,КодСпециализации,КодФГОС, Год " + " FROM УчебныйПлан WHERE КодУрОбаз = " + paramCodeEducatLevel + " AND КодСпециальности = " + paramCodeSpecialty + " AND КодСпециализации = " + paramCodeSpecialization + " AND КодФГОС = " + paramCodeFgos + " AND Год = " + paramIDYear, dbCon); //проверяем на наличие УП в базе, если нет такого УП то запишем его if (!IsRecordInDatabase(command)) { //очищение команды от предыдущих параметров command.Parameters.Clear(); //запрос на добавление command = new OleDbCommand("Insert into УчебныйПлан" + " (КодУрОбаз,КодСпециальности,КодСпециализации,КодФГОС,Год)" + " Values (" + paramCodeEducatLevel + "," + paramCodeSpecialty + "," + paramCodeSpecialization + "," + paramCodeFgos + "," + paramIDYear + ")", dbCon); //добавление параметров /* command.Parameters.Add(paramCodeEducatLevel); command.Parameters.Add(paramCodeSpecialty); command.Parameters.Add(paramCodeSpecialization); command.Parameters.Add(paramCodeFgos); command.Parameters.Add(paramIDYear);*/ try { command.ExecuteNonQuery(); } catch { MessageBox.Show("Ошибка, при выполнении запроса на добавление УП", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } if (parEducationalPlan.Fgos == "") parEducationalPlan.IdEducationalPlan = GetRecord(new OleDbCommand("SELECT КодУчПлана FROM УчебныйПлан WHERE КодУрОбаз = " + paramCodeEducatLevel + " AND КодСпециальности = " + paramCodeSpecialty + " AND КодСпециализации = " + paramCodeSpecialization + " AND Год = " + paramIDYear,dbCon)); else parEducationalPlan.IdEducationalPlan = GetRecord(new OleDbCommand("SELECT КодУчПлана FROM УчебныйПлан WHERE КодУрОбаз = " + paramCodeEducatLevel + " AND КодСпециальности = " + paramCodeSpecialty + " AND КодСпециализации = " + paramCodeSpecialization + " AND КодФГОС = " + paramCodeFgos+ " AND Год = " + paramIDYear, dbCon)); command.Parameters.Clear(); }
/// <summary> /// Получение ID Уровня образования из таблицы УровеньОбразования /// </summary> /// <param name="parEducationalPlan">Учебный план</param> /// <returns>Сформированный параметр ID Уровня образования</returns> public OleDbParameter GetIDEducationalLevel(EducationalPlan parEducationalPlan) { OleDbParameter param = new OleDbParameter(); OleDbCommand command = this.GetCommand("SELECT * " + " FROM УровеньОбразования "/*WHERE СокрНазвУО = '" + parEducationalPlan.LevelEducation+"'"*/); //Ищем запись в таблице param.Value = SearchRecordInTable(command.ExecuteReader(), parEducationalPlan.LevelEducation, 1, 0); //если такой записи нет, добавляем её if (param.Value == null) { // dataReader.Dispose(); WriteNameTable("Insert into УровеньОбразования" + "(СокрНазвУО)" + " Values (@NAME)", parEducationalPlan.LevelEducation); param.Value = SearchRecordInTable(command.ExecuteReader(), parEducationalPlan.LevelEducation, 1, 0); } //задаем имя параметра param.ParameterName = "@CODEEDUCATLEVEL"; //задаем тип параметра param.OleDbType = OleDbType.Integer; return param; }
/// <summary> /// Создание учебного плана. Обработка титульного листа УП /// </summary> public void CreateEducationalPlan() { string levelEducation = string.Empty; Specialization specialization = null; Specialty specialty = null; int year; string faculty = string.Empty; MExcel.Range localRange = null; localRange = range.Find(" ", range.Find("специальность:")); if (localRange != null) specialty = GetSpecialty(localRange.Text.ToString()); /* localRange = null; localRange = range.Find(" ", range.Find("специализация:"));*/ localRange = range.Find("специализация:"); if (localRange!=null) localRange = range.Find(" ", localRange); if (localRange != null) specialization = GetSpecialization(localRange.Text.ToString()); localRange = null;//ФАКУЛЬТЕТ (СВЯЗИ) localRange = range.Find("факультет"); if (localRange != null) faculty = GetFaculty(localRange.Text.ToString()); localRange = null; if (range.Find("51 техник") != null) levelEducation = "CПО"; else { if (range.Find("65 специалист") != null) levelEducation = "ВПО"; else levelEducation = ""; } localRange = range.Find("года"); year = GetYear(localRange.Text.ToString()); this.educationalPlan = new EducationalPlan(specialization, specialty, year, levelEducation); if (faculty!=string.Empty) this.educationalPlan.Faculty = faculty; }