private void GroupAdd() { string notWork = ""; if (string.IsNullOrWhiteSpace(GroupName.Text)) { notWork += $"{nameof(GroupName)} is null\n"; } if (string.IsNullOrWhiteSpace(SokrGroupName.Text)) { notWork += $"{nameof(SokrGroupName)} is null\n"; } if (string.IsNullOrWhiteSpace(Potok.Text)) { notWork += $"{nameof(Potok)} is null\n"; } if (string.IsNullOrWhiteSpace(Seminar.Text)) { notWork += $"{nameof(Seminar)} is null\n"; } if (string.IsNullOrWhiteSpace(NumberPeople.Text)) { notWork += $"{nameof(NumberPeople)} is null\n"; } if (notWork == "") { if (WorkToMyDbContext.groups == null || WorkToMyDbContext.groups.Count == 0) { ID = 1; } else { ID = WorkToMyDbContext.groups.Max(x => x.GroupId) + 1; } var group = new Group() { FullName = GroupName.Text, Abbreviation = SokrGroupName.Text, Potok = Potok.Text, Seminar = Seminar.Text, NumberOfPersons = Convert.ToInt32(NumberPeople.Text), GroupId = ID }; WorkToMyDbContext.groups.Add(group); WorkToMyDbContext.SaveDB(typeof(Group).FullName); Close(); } else { notWork = "Не добавится группа пока: \n" + notWork; MessageBox.Show(notWork); } }
public MainWindow() { WorkToMyDbContext.RepositoryBase(); InitializeComponent(); ButtonGetDataFromBD.Click += ButtonGetDataFromBD_Click; GetFilling.Click += (sender1, EventArgs1) => { GetFilling_Click(); }; // SetFillingClassrooms.Click += (sender1, EventArgs1) => { SetFilling_Click(typeof(Filling<Classroom>).FullName); }; // SetFillingGroups.Click += (sender1, EventArgs1) => { SetFilling_Click(typeof(Filling<Group>).FullName); }; CreateScheduler.Click += CreateScheduler_Click; // GetFillingClassrooms.Click += (sender1, EventArgs1) => { GetFillingFromScheduler_Click(typeof(Filling<Classroom>).FullName); }; // GetFillingGroups.Click += (sender1, EventArgs1) => { GetFillingFromScheduler_Click(typeof(Filling<Group>).FullName); }; PlanNotScheduler.Click += (sender1, EventArgs1) => { ShowMess(); }; this.Loaded += MainWindow_Loaded; }
/// <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(); }
private void GroupAdd() { string notWork = ""; if (string.IsNullOrWhiteSpace(SubjectName.Text)) { notWork += $"{nameof(SubjectName)} is null\n"; } if (string.IsNullOrWhiteSpace(SokrSubjectName.Text)) { notWork += $"{nameof(SokrSubjectName)} is null\n"; } if (notWork == "") { if (WorkToMyDbContext.subjects == null || WorkToMyDbContext.subjects.Count == 0) { ID = 1; } else { ID = WorkToMyDbContext.subjects.Max(x => x.SubjectId) + 1; } var subject = new Subject() { FullName = SubjectName.Text, Abbreviation = SokrSubjectName.Text, SubjectId = ID }; WorkToMyDbContext.subjects.Add(subject); WorkToMyDbContext.SaveDB(typeof(Subject).FullName); Close(); } else { notWork = "Не добавится группа пока: \n" + notWork; MessageBox.Show(notWork); } }
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(); }