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();
        }
예제 #4
0
        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);
            }
        }
예제 #5
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();
        }