Example #1
0
 public void CreateConflictCompilation(Schedule schedule, ConflictCriteria criteria)
 {
     switch (criteria)
     {
         case ConflictCriteria.All:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.SearchAllConflicts(schedule));
             break;
         case ConflictCriteria.GreaterThanFourClassesPerDay:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.GreaterThanFourClassesPerDay(schedule));
             break;
         case ConflictCriteria.CardsWithBlankFields:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.CardsWithBlankFields(schedule));
             break;
         case ConflictCriteria.GroupsInDifferentClassrooms:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.GroupsInDifferentClassrooms(schedule));
             break;
         case ConflictCriteria.LecturersInDifferentClassrooms:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.LecturersInDifferentClassrooms(schedule));
             break;
         case ConflictCriteria.LecturersOnDifferentClasses:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.LecturersInDifferentClassrooms(schedule));
             break;
         case ConflictCriteria.NextClassesAtDifferentAddress:
             Conflicts = new ObservableCollection<Conflict>(ConflictSearchEngine.NextClassesAtDifferentAddress(schedule));
             break;
     }
 }
        public static string ConflictDescription(ConflictCriteria criteria)
        {
            switch (criteria)
            {
            case ConflictCriteria.All:
                return("Все типы конфликтов");

            case ConflictCriteria.GreaterThanFourClassesPerDay:
                return("Больше 4х занятий в день");

            case ConflictCriteria.CardsWithBlankFields:
                return("У карточки не заполнены некоторые поля");

            case ConflictCriteria.GroupsInDifferentClassrooms:
                return("Группа находится в нескольких аудиториях одновременно");

            case ConflictCriteria.LecturersInDifferentClassrooms:
                return("Преподаватель находится в нескольких аудиториях одновременно");

            case ConflictCriteria.NextClassesAtDifferentAddress:
                return("Адреса двух аудиторий, в которых проходят два соседних занятия, различны");

            case ConflictCriteria.LecterersOnDifferentClasses:
                return("Преподаватель находится проводит несколько занятий одновременно");
            }
            return("");
        }
        public ConflictCompilation(Schedule schedule, ConflictCriteria criteria)
        {
            switch (criteria)
            {
            case ConflictCriteria.All:
                Conflicts = ConflictSearchEngine.SearchAllConflicts(schedule);
                break;

            case ConflictCriteria.GreaterThanFourClassesPerDay:
                Conflicts = ConflictSearchEngine.GreaterThanFourClassesPerDay(schedule);
                break;

            case ConflictCriteria.CardsWithBlankFields:
                Conflicts = ConflictSearchEngine.CardsWithBlankFields(schedule);
                break;

            case ConflictCriteria.GroupsInDifferentClassrooms:
                Conflicts = ConflictSearchEngine.GroupsInDifferentClassrooms(schedule);
                break;

            case ConflictCriteria.LecturersInDifferentClassrooms:
                Conflicts = ConflictSearchEngine.LecterersInDifferentClassrooms(schedule);
                break;

            case ConflictCriteria.NextClassesAtDifferentAddress:
                Conflicts = ConflictSearchEngine.NextClassesAtDifferentAddress(schedule);
                break;
            }
        }
 private void CheckConflict(ConflictCriteria criteria)
 {
     if (Project != null && Project.Schedule != null)
     {
         Mouse.OverrideCursor = Cursors.Wait;
         if (Project.AreConflictsShown)
         {
             OnShowHideConflicts();
         }
         Project.ConflictCompilation = new ConflictCompilation(Project.Schedule, criteria);
         Mouse.OverrideCursor        = Cursors.Arrow;
         if (!Project.AreConflictsShown)
         {
             OnShowHideConflicts();
         }
     }
 }
Example #5
0
 public static string ConflictDescription(ConflictCriteria criteria)
 {
     switch (criteria)
     {
         case ConflictCriteria.All:
             return "Все типы конфликтов";
         case ConflictCriteria.GreaterThanFourClassesPerDay:
             return "Больше 4х занятий в день";
         case ConflictCriteria.CardsWithBlankFields:
             return "У карточки не заполнены некоторые поля";
         case ConflictCriteria.GroupsInDifferentClassrooms:
             return "Группа находится в нескольких аудиториях одновременно";
         case ConflictCriteria.LecturersInDifferentClassrooms:
             return "Преподаватель находится в нескольких аудиториях одновременно";
         case ConflictCriteria.NextClassesAtDifferentAddress:
             return "Адреса двух аудиторий, в которых проходят два соседних занятия, различны";
         case ConflictCriteria.LecturersOnDifferentClasses:
             return "Преподаватель находится проводит несколько занятий одновременно";
     }
     return "";
 }
Example #6
0
 private void CheckConflict(ConflictCriteria criteria)
 {
     Action action = () =>
     {
         if (Project != null && Project.Schedule != null)
         {
             Mouse.OverrideCursor = Cursors.Wait;
             if (Project.AreConflictsShown)
             {
                 OnShowHideConflicts();
             }
             Project.ConflictCompilation.CreateConflictCompilation(Project.Schedule, criteria);
             Mouse.OverrideCursor = Cursors.Arrow;
             if (!Project.AreConflictsShown)
             {
                 OnShowHideConflicts();
             }
         }
     };
     ExecuteAction("Поиск конфликтов", "Поиск конфликтов завершен", action);
 }