Пример #1
0
 private static void SetDatesColumns(DataGridView table, ScheduleWeeks Shedule)
 {
     for (int WeekCounter = 1, CellCounter = 2; WeekCounter <= Shedule.Setting.CountWeeksShedule; WeekCounter++)
     {
         for (int DayCounter = 1; DayCounter <= Shedule.Setting.CountDaysEducationWeek; DayCounter++, CellCounter++)
         {
             table.Columns[CellCounter].HeaderText = ScheduleTime.GetDayDescription((ScheduleClasses.Day)DayCounter).ToUpper() +
                                                     Environment.NewLine + Shedule.GetDay((Week)WeekCounter, (ScheduleClasses.Day)DayCounter).DatesDescription;
         }
     }
 }
Пример #2
0
 public static DataGridView FillDataGrid(ScheduleWeeks Shedule, DataGridView table,
                                         ScheduleClasses.View view, EducationLoadAdapter adapter, IEnumerable <ScheduleRoom> Rooms, bool WatchAll)
 {
     table.Rows.Clear();
     //задать значение заколовку с именами элементов проекции
     table.Columns["name"].HeaderText = new ScheduleView(view).Name.ToUpper();
     //добавить в таблицу все занятия всех элементов проекции расписания
     foreach (string elementView in GetNamesItemsView(view, adapter, Rooms).ToList())
     {
         //получить все занятия определенного элемента проекции расписания
         List <ScheduleLesson> LessonsByView = Shedule.GetLessonsByView(view, elementView).ToList();
         //добавить в таблицу все занятия элемента
         SetElementView(LessonsByView, elementView, view, Shedule, table, Shedule.Employments, WatchAll);
     }
     //проставить даты в заголовки столбцов таблицы
     SetDatesColumns(table, Shedule);
     return(table);
 }
Пример #3
0
        private void tsiCreate_Exam_Click(object sender, EventArgs e)
        {
            if (!CheckInputData)
            {
                return;
            }

            CreateSheduleForm frmShedule = new CreateSheduleForm(true, new DateTime(DateTime.Now.Year + 2, 1, 1), new DateTime(DateTime.Now.Year + 2, 1, 31));

            if (frmShedule.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            SettingShedule settingBuf1 = GetSetting(getWeeksInSem(frmShedule.FirstDaySem, frmShedule.LastDaySem));

            settingBuf1.CountLessonsOfDay        = 1;
            settingBuf1.FirstLessonsOfWeekDay    = 1;
            settingBuf1.FirstLessonsOfWeekEnd    = 1;
            settingBuf1.LastLessonsOfWeekDay     = 1;
            settingBuf1.LastLessonsOfWeekEnd     = 1;
            settingBuf1.MaxCountLessonsOfWeekDay = 1;
            settingBuf1.MaxCountLessonsOfWeekEnd = 1;
            Schedule = new ScheduleWeeks(Rooms, settingBuf1, frmShedule.FirstDaySem, frmShedule.LastDaySem);
            UpdateTableShedule();

            WatchTriggerStateChange(true);

            if (dgvSchedule.ColumnCount <= 0)
            {
                cmbView.Enabled = false;
            }
            else
            {
                cmbView.Enabled = true;
            }

            curSheduleType = scheduleType.exams;
        }
Пример #4
0
        private void tsbCreateShedule_Click(object sender, EventArgs e)
        {
            if (!CheckInputData)
            {
                return;
            }

            CreateSheduleForm frmShedule = new CreateSheduleForm(false, new DateTime(DateTime.Now.Year, 9, 1), new DateTime(DateTime.Now.Year, 12, 31));

            if (frmShedule.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }

            ScheduleGenerator reactor = new ScheduleGenerator(EducationAdapter, Rooms,
                                                              GetSetting(getWeeksInSem(frmShedule.FirstDaySem, frmShedule.LastDaySem)),
                                                              frmShedule.FirstDaySem, frmShedule.LastDaySem, Schedule == null ? new Employments() : Schedule.Employments);

            Schedule = reactor.Generate();

            UpdateTableShedule();

            UpdateDistributeList(reactor.Results);

            WatchTriggerStateChange(false);

            if (dgvSchedule.ColumnCount <= 0)
            {
                cmbView.Enabled = false;
            }
            else
            {
                cmbView.Enabled = true;
            }

            curSheduleType = scheduleType.leesons;
        }
Пример #5
0
        private void tsmiOpenSheduleFromFile_Click(object sender, EventArgs e)
        {
            OpenFileDialog frmOpen = new OpenFileDialog();

            frmOpen.DefaultExt = "xml";
            frmOpen.Filter     = "(*.xml)|*.xml";

            if (frmOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    Schedule = ScheduleSerializer.ReadData(frmOpen.FileName);

                    if (Schedule != null)
                    {
                        Schedule.Employments.Clear();
                    }

                    UpdateTableShedule();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                if (dgvSchedule.ColumnCount <= 0)
                {
                    cmbView.Enabled = false;
                }
                else
                {
                    cmbView.Enabled = true;
                }
            }
        }