/// <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(); }
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(); }