private static void Group(List <object> data)
        {
            var name = data[0].ToString();
            var flow = data[1] as Flow;

            if (flow == null)
            {
                throw new ArgumentNullException(nameof(flow), "Поток не выбран.");
            }

            var group = new Group(name, flow.Id);

            Insert <Group> .InsertOriginal(group, Select.Groups());

            //var subgroupsNames = data[2] as Dictionary<string, bool>;

            //if (subgroupsNames.Count == 0)
            //    return;

            //var subgroups = NamesToObjects<Subgroup>.GetObjects(subgroupsNames, Select.Subgroups());

            //foreach (var subgroup in subgroups)
            //{
            //    var val = new SubgroupsInGroup(group.Id, subgroup.Key.Id);

            //    if (CheckForExistence<SubgroupsInGroup>.IsExist(val, Select.SubgroupsInGroups()) == true && subgroup.Value == false)
            //        Delete<SubgroupsInGroup>.DeleteFromTable(val);
            //    else if (CheckForExistence<SubgroupsInGroup>.IsExist(val, Select.SubgroupsInGroups()) == false && subgroup.Value == true)
            //        Add<SubgroupsInGroup>.AddNew(val);
            //}
        }
        private static void Flow(List <object> data)
        {
            var name = data[0].ToString();

            var flow = new Flow(name);

            Insert <Flow> .InsertOriginal(flow, Select.Flows());

            //var groupsNames = data[1] as Dictionary<string, bool>;

            //if (groupsNames.Count == 0)
            //    return;

            //var groups = NamesToObjects<Group>.GetObjects(groupsNames, Select.Groups());

            //foreach (var group in groups)
            //{
            //    var val = new GroupsInFlow(flow.Id, group.Key.Id);

            //    if (CheckForExistence<GroupsInFlow>.IsExist(val, Select.GroupsInFlows()) == true && group.Value == false)
            //        Delete<GroupsInFlow>.DeleteFromTable(val);
            //    else if (CheckForExistence<GroupsInFlow>.IsExist(val, Select.GroupsInFlows()) == false && group.Value == true)
            //        Add<GroupsInFlow>.AddNew(val);
            //}
        }
        private static void Teacher(List <object> data)
        {
            var name = data[0].ToString();

            var teacher = new Teacher(name);

            Insert <Teacher> .InsertOriginal(teacher, Select.Teachers());
        }
        private static void SpecialEquipment(List <object> data)
        {
            var name = data[0].ToString();

            var specialEquipment = new SpecialEquipment(name);

            Insert <SpecialEquipment> .InsertOriginal(specialEquipment, Select.SpecialEquipment());
        }
        private static LessonFrame CreateLessonFrame(Teacher teacher, Subject subject, Flow flow)
        {
            var lessonFrame = new LessonFrame(teacher, subject, flow);

            Insert <LessonFrame> .InsertOriginal(lessonFrame, Select.LessonFrames());

            return(lessonFrame);
        }
Exemplo n.º 6
0
        private void CreateLesson(LessonFrame lessonFrame, int classroomId, int dayId, int lessonTime)
        {
            var lesson = new Lesson(lessonFrame.SubjectId, lessonFrame.TeacherId, classroomId, dayId, lessonTime);

            Insert <Lesson> .InsertOriginal(lesson, Select.Lessons());

            var subgroupsInLessonFrames = Select.SubgroupsInLessonFrames().Where(x => x.LessonFrameId == lessonFrame.Id);

            foreach (var subgroupInLessonFrame in subgroupsInLessonFrames)
            {
                var subgroupInLesson = new SubgroupsInLessons(subgroupInLessonFrame.SubgroupId, lesson.Id);
                Insert <SubgroupsInLessons> .InsertOriginal(subgroupInLesson, Select.SubgroupsInLessons());
            }
        }
        private static void Classroom(List <object> data)
        {
            var name      = data[0].ToString();
            var equipment = data[1] as Equipment;

            if (equipment == null)
            {
                throw new ArgumentNullException("Оборудование не выбрано.");
            }

            var classroom = new Classroom(name, equipment.Id);

            Insert <Classroom> .InsertOriginal(classroom, Select.Classrooms());
        }
        private static void CreateDefaultSubjectTypes()
        {
            var items = new Dictionary <string, string>()
            {
                { "lecture", "Лекция" },
                { "group_seminar", "Семинар (группа)" },
                { "subgroup_seminar", "Семинар (подгруппа)" }
            };

            foreach (var item in items)
            {
                Insert <SubjectType> .InsertOriginal(new SubjectType(item.Value, item.Key), Select.SubjectTypes());
            }
        }
        private static void CreateDefaultOptimalityCriterions()
        {
            var items = new Dictionary <string, string>()
            {
                { "teachersBusy", "Загруженность учителей в день" },
                { "groupsBusy", "Загруженность групп в день" },
                { "teachersWindow", "Окна преподавателей" },
                { "groupsWindow", "Окна групп" },
                { "lateLessons", "Поздние уроки" }
            };

            foreach (var item in items)
            {
                Insert <OptimalityCriterion> .InsertOriginal(new OptimalityCriterion(item.Value, item.Key, 1), Select.OptimalityCriterions());
            }
        }
Exemplo n.º 10
0
        public static void CreateWeak(int count)
        {
            if (count <= 0 || count > 7)
            {
                throw new ArgumentException();
            }

            foreach (var day in Select.Days())
            {
                Delete <Day> .DeleteFromTable(day);
            }

            for (var i = 1; i <= count; i++)
            {
                Insert <Day> .InsertOriginal(new Day(Days[i - 1], i), Select.Days());
            }
        }
        private static void Subject(List <object> data)
        {
            var name        = data[0].ToString();
            var equipment   = data[1] as Equipment;
            var subjectType = data[2] as SubjectType;

            if (equipment == null)
            {
                throw new ArgumentNullException(nameof(equipment), "Не выбрано оборудование.");
            }
            if (subjectType == null)
            {
                throw new ArgumentNullException(nameof(subjectType), "Не выбран тип предмета.");
            }

            var subject = new Subject(name, equipment.Id, subjectType.Id);

            Insert <Subject> .InsertOriginal(subject, Select.Subjects());
        }
        private static void Subgroup(List <object> data)
        {
            var name = data[0].ToString();

            if (!int.TryParse(data[1].ToString(), out int numberOfStudents))
            {
                throw new ArgumentException("Не удалось преобразовать количество студентов в число", nameof(numberOfStudents));
            }
            var group = data[2] as Group;


            if (group == null)
            {
                throw new ArgumentNullException(nameof(group), "Не выбрана группа.");
            }

            var subgroup = new Subgroup(name, numberOfStudents, group.Id);

            Insert <Subgroup> .InsertOriginal(subgroup, Select.Subgroups());
        }
        private static void Equipment(List <object> data)
        {
            var name = data[0].ToString();

            if (!int.TryParse(data[1].ToString(), out int numberOfSeats))
            {
                throw new ArgumentException("Вы ввели не число в поле \"Количество сидений\"", nameof(numberOfSeats));
            }

            var equipment = new Equipment(name, numberOfSeats);

            Insert <Equipment> .InsertOriginal(equipment, Select.Equipment());

            try
            {
                var specialEquipmentNames = data[2] as Dictionary <string, bool>;

                if (specialEquipmentNames.Count == 0)
                {
                    return;
                }

                var specialEquipmentCollection = NamesToObjects <SpecialEquipment> .GetObjects(specialEquipmentNames, Select.SpecialEquipment());

                foreach (var specialEquipment in specialEquipmentCollection)
                {
                    var val = new SpecialEquipmentInEquipment(specialEquipment.Key.Id, equipment.Id);

                    if (CheckForExistence <SpecialEquipmentInEquipment> .IsExist(val, Select.SpecialEquipmentInEquipment()) == true && specialEquipment.Value == false)
                    {
                        Delete <SpecialEquipmentInEquipment> .DeleteFromTable(val);
                    }
                    else if (CheckForExistence <SpecialEquipmentInEquipment> .IsExist(val, Select.SpecialEquipmentInEquipment()) == false && specialEquipment.Value == true)
                    {
                        Add <SpecialEquipmentInEquipment> .AddNew(val);
                    }
                }
            }
            catch { }
        }
        private static void FlowsLoad(List <object> data)
        {
            var subject = data[0] as Subject;
            var flow    = Select.Flows().Where(x => x.Name == data[2].ToString()).FirstOrDefault();

            if (flow == null)
            {
                throw new ArgumentNullException(nameof(flow), "Поток не выбран.");
            }
            if (subject == null)
            {
                throw new ArgumentNullException(nameof(subject), "Предмет не выбран.");
            }

            if (int.TryParse(data[1].ToString(), out int load) == false)
            {
                throw new ArgumentException("Вы ввели не число в поле \"Нагрузка\"", nameof(load));
            }

            var flowsLoad = new FlowsLoad(flow.Id, subject.Id, load);

            Insert <FlowsLoad> .InsertOriginal(flowsLoad, Select.FlowsLoad());
        }
        private static void TeachersLoad(List <object> data)
        {
            var subject = data[0] as Subject;
            var teacher = Select.Teachers().Where(x => x.Name == data[2].ToString()).FirstOrDefault();

            if (teacher == null)
            {
                throw new ArgumentNullException(nameof(teacher), "Преподаватель не выбран.");
            }
            if (subject == null)
            {
                throw new ArgumentNullException(nameof(subject), "Предмет не выбран.");
            }

            if (int.TryParse(data[1].ToString(), out int load) == false)
            {
                throw new ArgumentException("Вы ввели не число в поле \"Нагрузка\"", nameof(load));
            }

            var teachersLoad = new TeachersLoad(subject.Id, teacher.Id, load);

            Insert <TeachersLoad> .InsertOriginal(teachersLoad, Select.TeachersLoads());
        }
        private static void AddSubgroupToLessonFrame(Subgroup subgroup, LessonFrame lessonFrame)
        {
            var subgroupInLessonFrame = new SubgroupsInLessonFrames(subgroup.Id, lessonFrame.Id);

            Insert <SubgroupsInLessonFrames> .InsertOriginal(subgroupInLessonFrame, Select.SubgroupsInLessonFrames());
        }