Exemple #1
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;
            }
        }
        /// <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;
            }
        }
Exemple #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;
            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;
            }
        }