/// <summary>
        /// Подключение к базе и считывание из нее информации.
        /// Также дает доступ к кнопкам показывающие БД.
        /// Инициализация Заполнения
        /// </summary>
        private void ButtonGetDataFromBD_Click(object sender, RoutedEventArgs e)
        {
            WorkToMyDbContext.ReadDB();
            getFillingClass = new GetFillingClass();
            string ret = "";

            ret += $"Количество:\n";
            ret += $"Аудиторий={WorkToMyDbContext.classrooms.Count}, ";
            ret += $"Групп={WorkToMyDbContext.groups.Count}, ";
            ret += $"Предметов={WorkToMyDbContext.subjects.Count}, ";
            ret += $"В плане={WorkToMyDbContext.curricula.Count}, ";
            ret += $"Пар в день={WorkToMyDbContext.pairs.Count}, ";
            ret += $"Учебных дней за 2 недели={WorkToMyDbContext.studyDays.Count}.";
            TexboxFromBD.Text = ret;

            ButtonEnable_ButtonGetDataFromBD_Click();
        }
Ejemplo n.º 2
0
        static void Main()
        {
            WorkToMyDbContext.RepositoryBase();
            Console.WriteLine("Привет мир!");

            ///Создаем подключение к БД
            ///т.к. работает с внешним хранилищем и за безопасность
            ///

            // WorkToMyDbContext.AddNewBD();


            // Filling<Teacher>[] fillingTeachers;

            Filling <Group>[]     fillingGroups;
            Filling <Classroom>[] fillingClassrooms;

            List <Classroom>  classrooms;
            List <Group>      groups;
            List <Subject>    subjects;
            List <Curriculum> curricula;
            List <Pair>       pairs;
            List <StudyDay>   studyDays;

            {
                WorkToMyDbContext.ReadDB();
                classrooms = WorkToMyDbContext.classrooms;
                groups     = WorkToMyDbContext.groups;
                subjects   = WorkToMyDbContext.subjects;
                curricula  = WorkToMyDbContext.curricula;
                pairs      = WorkToMyDbContext.pairs;
                studyDays  = WorkToMyDbContext.studyDays;
            }

            //Выводы на консоль
            //ConsoleOut.ConsoleClassroom(classrooms, 0);

            //ConsoleOut.ConsoleGroup(groups, 0, false);
            //ConsoleOut.ConsoleSubject(subjects, 0, false);
            //ConsoleOut.ConsoleTeacher(teachers, 0, false);

            //ConsoleOut.ConsoleCurriculum(curricula);
            //ConsoleOut.ConsoleSubjectOfTeacher(subjectOfTeachers);

            //ConsoleOut.ConsolePair(pairs);
            //ConsoleOut.ConsoleStudyDay(studyDays);

            ///Получили когда возможно свободные  пары по дням и по преподавателям
            //fillingTeachers = GetFilling(teachers, pairs, studyDays);
            ///Получили когда возможно свободные  пары по дням и по группам
            fillingGroups = GetFilling(groups.ToArray(), pairs.ToArray(), studyDays.ToArray());
            ///Получили когда возможно свободные  пары по дням и по аудиториям
            fillingClassrooms = GetFilling(classrooms.ToArray(), pairs.ToArray(), studyDays.ToArray());

            //TODO: первый без объединения групп второй с объединением
            //CreateScheduler createScheduler1 = new CreateScheduler( groups, classrooms, subjects, curricula, fillingGroups, fillingClassrooms);



            //TODO: первый без объединения групп второй с объединением
            //CreateScheduler createScheduler = new CreateScheduler();

            //var NotFill = createScheduler.SetSchedule(fillingTeachers, fillingGroups, fillingClassrooms, classrooms, curricula, subjectOfTeachers);
            //CreateScheduler createSchedulerUnion = new CreateScheduler();
            //var NotFillUnion = createSchedulerUnion.SetScheduleWithUniouGroup(fillingTeachers, fillingGroups, fillingClassrooms, classrooms, curricula, subjectOfTeachers);
            //CreateScheduler createScheduler = new CreateScheduler();
            ////var NotFill = createScheduler.SetSchedule(fillingTeachers, fillingGroups, fillingClassrooms, classrooms, curricula, subjectOfTeachers);
            //var NotFillUnion = createScheduler.SetScheduleWithUniouGroup(fillingTeachers, fillingGroups, fillingClassrooms, classrooms, curricula, subjectOfTeachers);
            ////var Not1Fill = FillingMaxNumberPair(fillingTeachers, fillingGroups, fillingClassrooms,possibleFillings, classrooms, curricula, subjectOfTeachers);

            //Для вывода лучше сдать таблицу, потом выводить
            ConsoleOut.ConsoleFilling(fillingClassrooms, "РАСПРЕДЕЛЕНИЕ ПО АУДИТОРИЯМ");
            //ConsoleOut.ConsoleFilling(fillingTeachers, "РАСПРЕДЕЛЕНИЕ ПО ПРЕПОДАВАТЕЛЯМ");
            ConsoleOut.ConsoleFilling(fillingGroups, "РАСПРЕДЕЛЕНИЕ ПО ГРУППАМ");

            //ConsoleOut.ConsoleFilling(createSchedulerUnion.FillingClassrooms, "РАСПРЕДЕЛЕНИЕ ПО АУДИТОРИЯМ");
            //ConsoleOut.ConsoleFilling(createSchedulerUnion.FillingTeachers, "РАСПРЕДЕЛЕНИЕ ПО ПРЕПОДАВАТЕЛЯМ");
            //ConsoleOut.ConsoleFilling(createSchedulerUnion.FillingGroups, "РАСПРЕДЕЛЕНИЕ ПО ГРУППАМ");

            Console.ReadLine();
        }