private void btnAdd_Click(object sender, EventArgs e) { //Создаём новый объект класса "Вид учебной нагрузки" clsSubjectType Type = new clsSubjectType(); //Код назначаем на единицу больше, чем количество //элементов в коллекции Type.Code = mdlData.colSubjectType.Count + 1; //Формируем задел названия для нового вида учебной нагрузки Type.Type = "Новый вид"; //Формируем задел короткого названия для вида учебной нагрузки Type.Short = "Нов.вид."; //Формируем задел короткого названия для вида учебной нагрузки //в индивидуальном плане Type.ShortPlan = "Нов.вид."; //Формируем задел короткого названия для вида учебной нагрузки //для таблицы распределения Type.LikeDistrib = "Нов_вид"; //Формируем задел названия для вида учебной нагрузки //для печатных форм Type.ForForms = "Новый вид"; //Добавляем объект в коллекцию mdlData.colSubjectType.Add(Type); //Заносим объект в список cmbSubjectTypesList.Items.Add(mdlData.colSubjectType[mdlData.colSubjectType.Count - 1].Code + ". " + mdlData.colSubjectType[mdlData.colSubjectType.Count - 1].Type + " (" + mdlData.colSubjectType[mdlData.colSubjectType.Count - 1].Short + ")"); //Переходим к новому элементу списка cmbSubjectTypesList.SelectedIndex = cmbSubjectTypesList.Items.Count - 1; }
private void btnDown_Click(object sender, EventArgs e) { clsSubjectType ST = new clsSubjectType(); if (cmbSubjectTypesList.SelectedIndex < cmbSubjectTypesList.Items.Count - 1) { //У текущего элемента код увеличить на единицу mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex].Code = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex].Code + 1; //У следующего элемента код увеличить на единицу mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex + 1].Code = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex + 1].Code - 1; ST = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex]; mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex] = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex + 1]; mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex + 1] = ST; //Смещаемся на следующий элемент cmbSubjectTypesList.SelectedIndex = cmbSubjectTypesList.SelectedIndex + 1; //Обновляем список FillSubjectTypesList(); } }
private void btnMoveUp_Click(object sender, EventArgs e) { clsSubjectType ST = new clsSubjectType(); if (cmbSubjectTypesList.SelectedIndex > 1) { //У текущего элемента код уменьшить на единицу mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex].Code = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex].Code - 1; //У предыдущего элемента код увеличить на единицу mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex - 1].Code = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex - 1].Code + 1; ST = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex]; mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex] = mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex - 1]; mdlData.colSubjectType[cmbSubjectTypesList.SelectedIndex - 1] = ST; //Смещаемся на предыдущий элемент cmbSubjectTypesList.SelectedIndex = cmbSubjectTypesList.SelectedIndex - 1; //Обновляем список FillSubjectTypesList(); } }
/// <summary> /// Процедура инициализации текущего элемента класса "Расписание_преподавателей" /// </summary> /// <param name="Tab">Образ таблицы базы данных</param> /// <param name="id">Идентификатор текущего элемента</param> public void Initialize(DataTable Tab, int id) { int GetCode; string CurrentString; bool Detected; //Код //this.Code = Convert.ToInt32(Tab.Rows[id]["ID"].ToString()); this.Code = id + 1; //Преподаватель GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Преподаватель"].ToString(); for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++) { if (mdlData.colLecturer[i].FIO == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.Lecturer = mdlData.colLecturer[GetCode]; } else { this.Lecturer = null; MessageBox.Show("Не удалось определить преподавателя у элемента с кодом " + this.Code, "Оповещение"); } //Неделя GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Неделя"].ToString(); for (int i = 0; i <= mdlData.colWeek.Count - 1; i++) { if (mdlData.colWeek[i].NumberWeek == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.Week = mdlData.colWeek[GetCode]; } else { this.Week = null; MessageBox.Show("Не удалось определить неделю у элемента с кодом " + this.Code, "Оповещение"); } //День недели GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["День недели"].ToString(); for (int i = 0; i <= mdlData.colWeekDays.Count - 1; i++) { if (mdlData.colWeekDays[i].WeekDay == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.WeekDay = mdlData.colWeekDays[GetCode]; } else { this.WeekDay = null; MessageBox.Show("Не удалось определить день недели у элемента с кодом " + this.Code, "Оповещение"); } //Время занятий GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Время занятия"].ToString(); for (int i = 0; i <= mdlData.colPairTime.Count - 1; i++) { if (mdlData.colPairTime[i].Time == CurrentString) { GetCode = i; Detected = true; } } //Заглушка потом можно будет убрать if (!Detected) { switch (CurrentString) { case "8.00-9.30": { GetCode = 0; Detected = true; break; } case "9.40-11.10": { GetCode = 1; Detected = true; break; } case "11.20-12.50": { GetCode = 2; Detected = true; break; } case "13.20-14.50": { GetCode = 3; Detected = true; break; } case "15.00-16.30": { GetCode = 4; Detected = true; break; } case "16.40-18.10": { GetCode = 5; Detected = true; break; } case "18.20-19.50": { GetCode = 6; Detected = true; break; } case "20.00-21.30": { GetCode = 7; Detected = true; break; } } } if (Detected) { this.Time = mdlData.colPairTime[GetCode]; } else { this.Time = null; MessageBox.Show("Не удалось определить время занятия у элемента с кодом " + this.Code, "Оповещение"); } //Занят? this.Subj = Convert.ToBoolean(Tab.Rows[id]["Занят"].ToString()); //Аудитория this.Auditory = Tab.Rows[id]["Аудитория"].ToString(); //Дисциплина GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Дисциплина"].ToString(); for (int i = 0; i <= mdlData.colSubject.Count - 1; i++) { if (mdlData.colSubject[i].Subject == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.Subject = mdlData.colSubject[GetCode]; } else { this.Subject = null; } //Тип занятия GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Тип_Занятия"].ToString(); for (int i = 0; i <= mdlData.colSubjectType.Count - 1; i++) { if (mdlData.colSubjectType[i].Type == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.SubjectType = mdlData.colSubjectType[GetCode]; } else { this.SubjectType = null; } //Специальность GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Специальность"].ToString(); for (int i = 0; i <= mdlData.colSpecialisation.Count - 1; i++) { if (mdlData.colSpecialisation[i].ShortDop == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.Spec = mdlData.colSpecialisation[GetCode]; } else { this.Spec = null; } //Номер курса GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Курс"].ToString(); for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++) { if (mdlData.colKursNum[i].Kurs.ToString() == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.KursNum = mdlData.colKursNum[GetCode]; } else { this.KursNum = null; } //Семестр GetCode = 0; Detected = false; CurrentString = Tab.Rows[id]["Семестр"].ToString(); for (int i = 0; i <= mdlData.colSemestr.Count - 1; i++) { if (mdlData.colSemestr[i].SemNum.ToString() == CurrentString) { GetCode = i; Detected = true; } } if (Detected) { this.Semestr = mdlData.colSemestr[GetCode]; } else { this.Semestr = null; } //Группа this.Group = Tab.Rows[id]["Группа"].ToString(); //Поток this.Stream = Tab.Rows[id]["Поток"].ToString(); }