1using CommunityToolkit.Mvvm.ComponentModel;
2using System.ComponentModel;
3using System.Windows.Data;
21 private ICollectionView _availablePersonStartsCollectionView;
27 get => _availablePersonStartsCollectionView;
28 private set => SetProperty(ref _availablePersonStartsCollectionView, value);
36 private int _timeInputMillisecondDigits;
42 get => _timeInputMillisecondDigits;
45 if (SetProperty(ref _timeInputMillisecondDigits, value))
64 #region Filter Feature
72 get => _filterPersonStartMode;
75 if (SetProperty(ref _filterPersonStartMode, value))
87 public List<Person>
AvailablePersons => _personService?.GetPersons().OrderBy(p => p.Name).ToList();
89 private Person _filteredPerson;
95 get => _filteredPerson;
98 if (SetProperty(ref _filteredPerson, value))
107 private int _filteredRaceID = 1;
113 get => _filteredRaceID;
116 if (SetProperty(ref _filteredRaceID, value))
125 private int _filteredCompetitionID = 1;
131 get => _filteredCompetitionID;
134 if (SetProperty(ref _filteredCompetitionID, value))
154 bool filterResult =
true;
189 _personService = personService;
190 _raceService = raceService;
191 _workspaceService = workspaceService;
206 start.PropertyChanged -= Start_PropertyChanged;
207 start.PropertyChanged += Start_PropertyChanged;
221 start.PropertyChanged -= Start_PropertyChanged;
225 private void Start_PropertyChanged(
object sender, PropertyChangedEventArgs e)
227 switch (e.PropertyName)
Class describing a start of a person.
Class that represents a single race.
Class that represents a combination variant of all single races.
Class holding all workspace settings.
Interface for objects that need to handle navigation events.
Interface for a service used to get and store a list of Person objects.
Interface for a service used to manage Race and RacesVariant objects.
Interface for a service used to manage a workspace.
@ Person
Highlight all PersonStart objects that have the same Person object.
TimeInputPersonStartFilterModes
Enum to define the different modes to filter a PersonStart