Ejemplo n.º 1
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            //Создаём новый объект класса "Номер курса"
            clsKursNum KNum = new clsKursNum();

            //Код назначаем на единицу больше, чем количество
            //элементов в коллекции
            KNum.Code = mdlData.colKursNum.Count + 1;
            //Формируем задел названия для нового номера курса
            KNum.Kurs = 0;
            //Добавляем объект в коллекцию
            mdlData.colKursNum.Add(KNum);
            //Заносим объект в список
            cmbKursNumList.Items.Add(mdlData.colKursNum[mdlData.colKursNum.Count - 1].Kurs);
            //Переходим к новому элементу списка
            cmbKursNumList.SelectedIndex = cmbKursNumList.Items.Count - 1;
        }
Ejemplo n.º 2
0
        /// <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();
        }
Ejemplo n.º 3
0
        /// <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]["Код"].ToString());

            //ФИО
            this.FIO = Tab.Rows[id]["ФИО"].ToString();

            //Кафедра
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colDepart.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Кафедра"].ToString();
                if (mdlData.colDepart[i].Short == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Depart = mdlData.colDepart[GetCode];
            }
            else
            {
                this.Depart = null;
            }

            //Руководитель
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Руководитель"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lect = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lect = null;
            }

            //Курс
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Курс"].ToString();
                if (mdlData.colKursNum[i].Kurs.ToString() == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.KursNum = mdlData.colKursNum[GetCode];
            }
            else
            {
                this.KursNum = null;
            }

            //Признак участия в индивидуальном плане преподавателя
            if (Tab.Rows[id]["В_плане"].ToString() == "False")
            {
                this.flgPlan = false;
            }
            else
            {
                this.flgPlan = true;
            }

            //Тема_работы
            this.Theme = Tab.Rows[id]["Тема_работы"].ToString();

            //Количество выделенных часов
            if (!(Tab.Rows[id]["Часы"] is DBNull))
            {
                this.Hours = Convert.ToInt32(Tab.Rows[id]["Часы"].ToString());
            }
            else
            {
                this.Hours = 0;
            }

            //Признак бюджетной нагрузки
            if (Tab.Rows[id]["Бюджет"].ToString() == "False")
            {
                this.flgBudget = false;
            }
            else
            {
                this.flgBudget = true;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Процедура инициализации текущего элемента класса "Распределение нагрузки"
        /// </summary>
        /// <param name="Tab">Образ таблицы базы данных</param>
        /// <param name="id">Идентификатор текущего элемента</param>
        public void Initialize(DataTable Tab, int id)
        {
            int    GetCode;
            string CurrentString;
            bool   Detected;
            bool   Even;

            //Код
            this.Code = Convert.ToInt32(Tab.Rows[id]["Код"].ToString());

            //Семестр
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colSemestr.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Семестр"].ToString();
                if (mdlData.colSemestr[i].SemNum == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Semestr = mdlData.colSemestr[GetCode];
            }
            else
            {
                this.Semestr = null;
                //MessageBox.Show("Не удалось определить семестр у элемента с кодом " + this.Code, "Оповещение");
            }

            //Специальность
            GetCode  = 0;
            Detected = false;
            Even     = false;

            for (int i = 0; i <= mdlData.colSpecialisation.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Специальность"].ToString();

                if (!mdlData.flgOldDB)
                {
                    if (CurrentString.StartsWith("В-"))
                    {
                        CurrentString = CurrentString.Substring(2);
                        Even          = true;
                    }

                    if (mdlData.colSpecialisation[i].ShortDop == CurrentString)
                    {
                        //Если с вечернего факультета
                        if (Even)
                        {
                            if (mdlData.colSpecialisation[i].Faculty != null)
                            {
                                if (mdlData.colSpecialisation[i].Faculty.Short.Equals("ВФ"))
                                {
                                    GetCode  = i;
                                    Detected = true;
                                    break;
                                }
                            }
                        }
                        //Если с дневного
                        else
                        {
                            GetCode  = i;
                            Detected = true;
                            break;
                        }
                    }
                }
                else
                {
                    if (mdlData.colSpecialisation[i].ShortUpravlenie == CurrentString)
                    {
                        GetCode  = i;
                        Detected = true;
                        break;
                    }
                }
            }
            if (Detected)
            {
                this.Speciality = mdlData.colSpecialisation[GetCode];
            }
            else
            {
                this.Speciality = null;
            }

            //Курс
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Курс"].ToString();
                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;
            for (int i = 0; i <= mdlData.colSubject.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Название_дисциплины"].ToString();
                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;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer = null;
            }

            //Преподаватель2
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель2"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer2 = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer2 = null;
            }

            //Преподаватель3
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель3"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer3 = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer3 = null;
            }

            //Дублёр
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Дублёр"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Doubler = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Doubler = null;
            }

            this.Text = Tab.Rows[id]["Для_диспетчерской"].ToString();

            //Необходимость подачи нагрузки в диспетчерскую
            if (Tab.Rows[id]["В_ведом_дисп"].ToString() == "False")
            {
                this.flgDispatch = false;
            }
            else
            {
                this.flgDispatch = true;
            }

            //Равномерная распределяемость
            if (Tab.Rows[id]["Распределяемая"].ToString() == "False")
            {
                this.flgDistrib = false;
            }
            else
            {
                this.flgDistrib = true;
            }

            //Вес единицы
            if (!(Tab.Rows[id]["Вес_единицы"] is DBNull))
            {
                this.Weight = Convert.ToInt32(Tab.Rows[id]["Вес_единицы"].ToString());
            }
            else
            {
                this.Weight = 0;
            }

            //Признак исключения из расчёта нагрузки
            if (Tab.Rows[id]["Исключить"].ToString() == "False")
            {
                this.flgExclude = false;
            }
            else
            {
                this.flgExclude = true;
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Процедура инициализации текущего элемента класса "Распределение нагрузки"
        /// </summary>
        /// <param name="Tab">Образ таблицы базы данных</param>
        /// <param name="id">Идентификатор текущего элемента</param>
        public void Initialize(DataTable Tab, int id)
        {
            int    GetCode;
            string CurrentString;
            bool   Detected;
            bool   Even;

            //Код
            this.Code = Convert.ToInt32(Tab.Rows[id]["Код"].ToString());

            //ФИО
            this.FIO = Tab.Rows[id]["ФИО"].ToString();

            //Специальность
            GetCode  = 0;
            Detected = false;
            Even     = false;

            for (int i = 0; i <= mdlData.colSpecialisation.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Специальность"].ToString();

                if (!mdlData.flgOldDB)
                {
                    if (CurrentString.StartsWith("В-"))
                    {
                        CurrentString = CurrentString.Substring(2);
                        Even          = true;
                    }

                    if (mdlData.colSpecialisation[i].ShortDop == CurrentString)
                    {
                        //Если с вечернего факультета
                        if (Even)
                        {
                            if (mdlData.colSpecialisation[i].Faculty != null)
                            {
                                if (mdlData.colSpecialisation[i].Faculty.Short.Equals("ВФ"))
                                {
                                    GetCode  = i;
                                    Detected = true;
                                    break;
                                }
                            }
                        }
                        //Если с дневного
                        else
                        {
                            GetCode  = i;
                            Detected = true;
                            break;
                        }
                    }
                }
                else
                {
                    if (mdlData.colSpecialisation[i].ShortUpravlenie == CurrentString)
                    {
                        GetCode  = i;
                        Detected = true;
                        break;
                    }
                }
            }
            if (Detected)
            {
                this.Speciality = mdlData.colSpecialisation[GetCode];
            }
            else
            {
                this.Speciality = null;
            }

            //Курс
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Курс"].ToString();
                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;
            for (int i = 0; i <= mdlData.colDepart.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Кафедра"].ToString();
                if (mdlData.colDepart[i].Short == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Depart = mdlData.colDepart[GetCode];
            }
            else
            {
                this.Depart = null;
            }

            //Руководитель
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Руководитель"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lect = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lect = null;
            }

            //Тема_работы
            this.Theme = Tab.Rows[id]["Тема_работы"].ToString();

            //Признак участия в индивидуальном плане преподавателя
            if (Tab.Rows[id]["В_плане"].ToString() == "False")
            {
                this.flgPlan = false;
            }
            else
            {
                this.flgPlan = true;
            }

            //Признак участия в почасовой
            if (Tab.Rows[id]["Почасовая"].ToString() == "False")
            {
                this.flgHoured = false;
            }
            else
            {
                this.flgHoured = true;
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Метод копирования в рассматриваемый элемент информации от внешнего элемента
        /// </summary>
        /// <param name="Input">Внешний элемент</param>
        /// <param name="flgHours">Флаг сохранения часов нагрузки true - сохранить, false - стереть</param>
        public void CopyFrom(clsDistribution Input, bool flgHours)
        {
            Code       = Input.Code;
            Semestr    = Input.Semestr;
            Speciality = Input.Speciality;
            KursNum    = Input.KursNum;
            Subject    = Input.Subject;
            Lecturer   = Input.Lecturer;
            Lecturer2  = Input.Lecturer2;
            Lecturer3  = Input.Lecturer3;
            Doubler    = Input.Doubler;

            if (flgHours)
            {
                Lecture            = Input.Lecture;
                Exam               = Input.Exam;
                Credit             = Input.Credit;
                RefHomeWork        = Input.RefHomeWork;
                Tutorial           = Input.Tutorial;
                LabWork            = Input.LabWork;
                Practice           = Input.Practice;
                IndividualWork     = Input.IndividualWork;
                KRAPK              = Input.KRAPK;
                KursProject        = Input.KursProject;
                PreDiplomaPractice = Input.PreDiplomaPractice;
                DiplomaPaper       = Input.DiplomaPaper;
                TutorialPractice   = Input.TutorialPractice;
                ProducingPractice  = Input.ProducingPractice;
                PostGrad           = Input.PostGrad;
                GAK           = Input.GAK;
                Hours         = Input.Hours;
                HoursZ        = Input.HoursZ;
                EnteredHours  = Input.EnteredHours;
                EnteredHoursZ = Input.EnteredHoursZ;
                Visiting      = Input.Visiting;
                Magistry      = Input.Magistry;
            }
            else
            {
                Lecture            = 0;
                Exam               = 0;
                Credit             = 0;
                RefHomeWork        = 0;
                Tutorial           = 0;
                LabWork            = 0;
                Practice           = 0;
                IndividualWork     = 0;
                KRAPK              = 0;
                KursProject        = 0;
                PreDiplomaPractice = 0;
                DiplomaPaper       = 0;
                TutorialPractice   = 0;
                ProducingPractice  = 0;
                PostGrad           = 0;
                GAK           = 0;
                Hours         = 0;
                HoursZ        = 0;
                EnteredHours  = 0;
                EnteredHoursZ = 0;
                Visiting      = 0;
                Magistry      = 0;
            }

            Text           = Input.Text;
            flgDispatch    = Input.flgDispatch;
            LabWorkConnect = Input.LabWorkConnect;
            flgDistrib     = Input.flgDistrib;
            Weight         = Input.Weight;
            flgExclude     = Input.flgExclude;
            DocCode        = Input.DocCode;
            HouredConnect  = Input.HouredConnect;
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Процедура инициализации текущего элемента класса "Распределение нагрузки"
        /// </summary>
        /// <param name="Tab">Образ таблицы базы данных</param>
        /// <param name="id">Идентификатор текущего элемента</param>
        public void Initialize(DataTable Tab, int id)
        {
            int    GetCode;
            string CurrentString;
            bool   Detected;
            bool   Even;

            //Код
            this.Code = Convert.ToInt32(Tab.Rows[id]["Код"].ToString());

            //Семестр
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colSemestr.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Семестр"].ToString();
                if (mdlData.colSemestr[i].SemNum == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Semestr = mdlData.colSemestr[GetCode];
            }
            else
            {
                this.Semestr = null;
                //MessageBox.Show("Не удалось определить семестр у элемента с кодом " + this.Code, "Оповещение");
            }

            //Специальность
            GetCode  = 0;
            Detected = false;
            Even     = false;

            for (int i = 0; i <= mdlData.colSpecialisation.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Специальность"].ToString();

                if (!mdlData.flgOldDB)
                {
                    if (CurrentString.StartsWith("В-"))
                    {
                        CurrentString = CurrentString.Substring(2);
                        Even          = true;
                    }

                    if (mdlData.colSpecialisation[i].ShortDop == CurrentString)
                    {
                        //Если с вечернего факультета
                        if (Even)
                        {
                            if (mdlData.colSpecialisation[i].Faculty != null)
                            {
                                if (mdlData.colSpecialisation[i].Faculty.Short.Equals("ВФ"))
                                {
                                    GetCode  = i;
                                    Detected = true;
                                    break;
                                }
                            }
                        }
                        //Если с дневного
                        else
                        {
                            GetCode  = i;
                            Detected = true;
                            break;
                        }
                    }
                }
                else
                {
                    if (mdlData.colSpecialisation[i].ShortUpravlenie == CurrentString)
                    {
                        GetCode  = i;
                        Detected = true;
                        break;
                    }
                }
            }
            if (Detected)
            {
                this.Speciality = mdlData.colSpecialisation[GetCode];
            }
            else
            {
                this.Speciality = null;
            }

            //Курс
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Курс"].ToString();
                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;
            for (int i = 0; i <= mdlData.colSubject.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Название_дисциплины"].ToString();
                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;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer = null;
            }

            //Преподаватель2
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель2"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer2 = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer2 = null;
            }

            //Преподаватель3
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Преподаватель3"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Lecturer3 = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Lecturer3 = null;
            }

            //Дублёр
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colLecturer.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Дублёр"].ToString();
                if (mdlData.colLecturer[i].FIO == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Doubler = mdlData.colLecturer[GetCode];
            }
            else
            {
                this.Doubler = null;
            }

            //Лекции в часах
            if (!(Tab.Rows[id]["Лекция"] is DBNull))
            {
                this.Lecture = Convert.ToInt32(Tab.Rows[id]["Лекция"].ToString());
            }
            else
            {
                this.Lecture = 0;
            }

            //Экзамен в часах
            if (!(Tab.Rows[id]["Экзамен"] is DBNull))
            {
                this.Exam = Convert.ToInt32(Tab.Rows[id]["Экзамен"].ToString());
            }
            else
            {
                this.Exam = 0;
            }

            //Зачёт в часах
            if (!(Tab.Rows[id]["Зачёт"] is DBNull))
            {
                this.Credit = Convert.ToInt32(Tab.Rows[id]["Зачёт"].ToString());
            }
            else
            {
                this.Credit = 0;
            }

            //Рефераты и домашние задания в часах
            if (!(Tab.Rows[id]["Рефераты, домашние задания"] is DBNull))
            {
                this.RefHomeWork = Convert.ToInt32(Tab.Rows[id]["Рефераты, домашние задания"].ToString());
            }
            else
            {
                this.RefHomeWork = 0;
            }

            //Консультация в часах
            if (!(Tab.Rows[id]["Консультация"] is DBNull))
            {
                this.Tutorial = Convert.ToInt32(Tab.Rows[id]["Консультация"].ToString());
            }
            else
            {
                this.Tutorial = 0;
            }

            //Лабораторные работы в часах
            if (!(Tab.Rows[id]["Лаб_раб"] is DBNull))
            {
                this.LabWork = Convert.ToInt32(Tab.Rows[id]["Лаб_раб"].ToString());
            }
            else
            {
                this.LabWork = 0;
            }

            //Практические занятия в часах
            if (!(Tab.Rows[id]["Практ_зан"] is DBNull))
            {
                this.Practice = Convert.ToInt32(Tab.Rows[id]["Практ_зан"].ToString());
            }
            else
            {
                this.Practice = 0;
            }

            //Индивидуальное занятие в часах
            if (!(Tab.Rows[id]["Индив_зан"] is DBNull))
            {
                this.IndividualWork = Convert.ToInt32(Tab.Rows[id]["Индив_зан"].ToString());
            }
            else
            {
                this.IndividualWork = 0;
            }

            //КРАПК в часах
            if (!(Tab.Rows[id]["КРАПК"] is DBNull))
            {
                this.KRAPK = Convert.ToInt32(Tab.Rows[id]["КРАПК"].ToString());
            }
            else
            {
                this.KRAPK = 0;
            }

            //Курсовой проект в часах
            if (!(Tab.Rows[id]["Курс_пр"] is DBNull))
            {
                this.KursProject = Convert.ToInt32(Tab.Rows[id]["Курс_пр"].ToString());
            }
            else
            {
                this.KursProject = 0;
            }

            //Преддипломная практика в часах
            if (!(Tab.Rows[id]["Предд_пр"] is DBNull))
            {
                this.PreDiplomaPractice = Convert.ToInt32(Tab.Rows[id]["Предд_пр"].ToString());
            }
            else
            {
                this.PreDiplomaPractice = 0;
            }

            //Дипломный проект в часах
            if (!(Tab.Rows[id]["Дипл_пр"] is DBNull))
            {
                this.DiplomaPaper = Convert.ToInt32(Tab.Rows[id]["Дипл_пр"].ToString());
            }
            else
            {
                this.DiplomaPaper = 0;
            }

            //Учебная практика в часах
            if (!(Tab.Rows[id]["Учебн_пр"] is DBNull))
            {
                this.TutorialPractice = Convert.ToInt32(Tab.Rows[id]["Учебн_пр"].ToString());
            }
            else
            {
                this.TutorialPractice = 0;
            }

            //Производственная практика в часах
            if (!(Tab.Rows[id]["Произв_пр"] is DBNull))
            {
                this.ProducingPractice = Convert.ToInt32(Tab.Rows[id]["Произв_пр"].ToString());
            }
            else
            {
                this.ProducingPractice = 0;
            }

            //Аспирантура в часах
            if (!(Tab.Rows[id]["Аспирантура"] is DBNull))
            {
                this.PostGrad = Convert.ToInt32(Tab.Rows[id]["Аспирантура"].ToString());
            }
            else
            {
                this.PostGrad = 0;
            }

            //ГАК в часах
            if (!(Tab.Rows[id]["ГАК"] is DBNull))
            {
                this.GAK = Convert.ToInt32(Tab.Rows[id]["ГАК"].ToString());
            }
            else
            {
                this.GAK = 0;
            }

            //Часы
            if (!(Tab.Rows[id]["Часы"] is DBNull))
            {
                this.Hours = Convert.ToInt32(Tab.Rows[id]["Часы"].ToString());
            }
            else
            {
                this.Hours = 0;
            }

            //Часы по ЗЕТ
            if (!(Tab.Rows[id]["Часы_ЗЕТ"] is DBNull))
            {
                this.HoursZ = Convert.ToSingle(Tab.Rows[id]["Часы_ЗЕТ"].ToString());
            }
            else
            {
                this.HoursZ = 0;
            }

            //Часы дано
            if (!(Tab.Rows[id]["Часы_Дано"] is DBNull))
            {
                this.EnteredHours = Convert.ToInt32(Tab.Rows[id]["Часы_Дано"].ToString());
            }
            else
            {
                this.EnteredHours = 0;
            }

            //Часы дано по ЗЕТ
            if (!(Tab.Rows[id]["Часы_Дано_ЗЕТ"] is DBNull))
            {
                this.EnteredHoursZ = Convert.ToSingle(Tab.Rows[id]["Часы_Дано_ЗЕТ"].ToString());
            }
            else
            {
                this.EnteredHoursZ = 0;
            }

            //Часы на посещение занятий
            if (!(Tab.Rows[id]["Посещ_зан"] is DBNull))
            {
                this.Visiting = Convert.ToInt32(Tab.Rows[id]["Посещ_зан"].ToString());
            }
            else
            {
                this.Visiting = 0;
            }

            this.Text = Tab.Rows[id]["Для_диспетчерской"].ToString();

            //Часы на руководство магистрами
            if (!(Tab.Rows[id]["Магистратура"] is DBNull))
            {
                this.Magistry = Convert.ToInt32(Tab.Rows[id]["Магистратура"].ToString());
            }
            else
            {
                this.Magistry = 0;
            }

            //Необходимость подачи нагрузки в диспетчерскую
            if (Tab.Rows[id]["В_ведом_дисп"].ToString() == "False")
            {
                this.flgDispatch = false;
            }
            else
            {
                this.flgDispatch = true;
            }

            //Равномерная распределяемость
            if (Tab.Rows[id]["Распределяемая"].ToString() == "False")
            {
                this.flgDistrib = false;
            }
            else
            {
                this.flgDistrib = true;
            }

            //Вес единицы
            if (!(Tab.Rows[id]["Вес_единицы"] is DBNull))
            {
                this.Weight = Convert.ToInt32(Tab.Rows[id]["Вес_единицы"].ToString());
            }
            else
            {
                this.Weight = 0;
            }

            //Признак исключения из расчёта нагрузки
            if (Tab.Rows[id]["Исключить"].ToString() == "False")
            {
                this.flgExclude = false;
            }
            else
            {
                this.flgExclude = true;
            }

            //Код дисциплины по документу
            if (!(Tab.Rows[id]["КодДок"] is DBNull))
            {
                this.DocCode = Convert.ToInt32(Tab.Rows[id]["КодДок"].ToString());
            }
            else
            {
                this.DocCode = 9999;
            }
        }
Ejemplo n.º 8
0
        /// <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]["№"].ToString());

            //Факультет
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colFaculty.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Факультет"].ToString();
                if (mdlData.colFaculty[i].Short == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Faculty = mdlData.colFaculty[GetCode];
            }
            else
            {
                this.Faculty = null;
            }

            //Специальность
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colSpecialisation.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Специальность"].ToString();
                if (mdlData.colSpecialisation[i].ShortUpravlenie == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Spec = mdlData.colSpecialisation[GetCode];
            }
            else
            {
                this.Spec = null;
            }

            //Курс
            GetCode  = 0;
            Detected = false;
            for (int i = 0; i <= mdlData.colKursNum.Count - 1; i++)
            {
                CurrentString = Tab.Rows[id]["Курс"].ToString();
                if (mdlData.colKursNum[i].Kurs.ToString() == CurrentString)
                {
                    GetCode  = i;
                    Detected = true;
                }
            }
            if (Detected)
            {
                this.Kurs = mdlData.colKursNum[GetCode];
            }
            else
            {
                this.Kurs = null;
            }
        }