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