public SubjectSelectionManager(List <SubjectModel> subjectModels, Func <Slot[], List <List <Slot> > > permutator, ITaskRunnerWithProgressFeedback taskRunner) { _subjectModels = subjectModels; _permutator = permutator; _taskRunner = taskRunner; foreach (var subjectModel in _subjectModels) { subjectModel.Selected += SubjectModel_Selected; subjectModel.Deselected += SubjectModel_Deselected; } }
public SubjectListModel(List <SubjectModel> subjectModels, Func <Slot[], List <List <Slot> > > permutator = null, ITaskRunnerWithProgressFeedback taskRunner = null) { _subjectModels = subjectModels; _subjectSelectionManager = new SubjectSelectionManager(subjectModels, permutator, taskRunner); _subjectSelectionManager.SelectedSubjectCountChanged += _subjectSelectionManager_SelectedSubjectCountChanged; _subjectSelectionManager.NewListOfTimetablesGenerated += _subjectSelectionManager_NewListOfTimetablesGenerated; foreach (var subjectModel in _subjectModels) { _nameAndCodeOfAllSubjects.Add(subjectModel.Name); _nameAndCodeOfAllSubjects.Add(subjectModel.Code); } _focusNavigator = new FocusNavigator(new List <IFocusable>(_subjectModels)); _focusNavigator.FocusFirstItem(); }