private void ConnectUiToRaceRun(RaceRun raceRun) { if (raceRun != null) { _rslVP = (new ViewConfigurator(_thisRace)).GetRemainingStartersViewProvider(raceRun); dgRemainingStarters.ItemsSource = _rslVP.GetView(); UiUtilities.EnableOrDisableColumns(_thisRace, dgRemainingStarters); dgRunning.ItemsSource = raceRun.GetOnTrackList(); UiUtilities.EnableOrDisableColumns(_thisRace, dgRunning); dgFinish.ItemsSource = raceRun.GetInFinishList(); UiUtilities.EnableOrDisableColumns(_thisRace, dgFinish); lblStartList.DataContext = _rslVP.GetView(); } else { dgRemainingStarters.ItemsSource = null; dgRunning.ItemsSource = null; dgFinish.ItemsSource = null; } }
private void displayView(ViewProvider viewProvider) { clearDataGrid(); _viewProvider = viewProvider; if (_viewProvider == null) { return; } if (!(_viewProvider is StartListViewProvider)) { dgView.Columns.Add(createColumnPosition("Position", "Position", false)); } dgView.Columns.Add(createColumn("StartNumber", "Participant.StartNumber", "StNr")); dgView.Columns.Add(createColumn("Name", "Participant.Name", "Name")); dgView.Columns.Add(createColumn("Firstname", "Participant.Firstname", "Vorname")); dgView.Columns.Add(createColumn("Year", "Participant.Year", "Jg.")); dgView.Columns.Add(createColumn("Class", "Participant.Class", "Klasse")); dgView.Columns.Add(createColumn("Club", "Participant.Club", "Verein")); dgView.Columns.Add(createColumn("Nation", "Participant.Nation", "Nat.")); // Race Run Results if (_viewProvider is RaceRunResultViewProvider rrrVP) { dgView.Columns.Add(createColumnTime("Zeit", "Runtime", "ResultCode")); dgView.Columns.Add(createColumnDiff("Diff", "DiffToFirst")); dgView.Columns.Add(createColumnDiffInPercentage("[%]", "DiffToFirstPercentage")); dgView.Columns.Add(createColumnAnmerkung()); setWarningLabelHandler(new RaceRunCompletedWarningLabelHandler(rrrVP.RaceRun, lblWarning)); } // Total Results else if (_viewProvider is RaceResultViewProvider) { foreach (var r in _thisRace.GetRuns()) { dgView.Columns.Add(createColumnTime(string.Format("Zeit {0}", r.Run), string.Format("SubResults[{0}].Runtime", r.Run), string.Format("SubResults[{0}].RunResultCode ", r.Run))); dgView.Columns.Add(createColumnDiff(string.Format("Diff {0}", r.Run), string.Format("SubResults[{0}].DiffToFirst", r.Run))); dgView.Columns.Add(createColumnDiffInPercentage(string.Format("[%] {0}", r.Run), string.Format("SubResults[{0}].DiffToFirstPercentage", r.Run))); dgView.Columns.Add(createColumnPosition(string.Format("SubResults[{0}].Position", r.Run), string.Format("SubResults[{0}].Position", r.Run), true)); } dgView.Columns.Add(createColumnTime("Total", "TotalTime", "ResultCode")); dgView.Columns.Add(createColumnAnmerkung()); setWarningLabelHandler(new RaceCompletedWarningLabelHandler(_thisRace, lblWarning)); } // Start List else if (_viewProvider is StartListViewProvider) { if (_viewProvider is BasedOnResultsFirstRunStartListViewProvider slVP2) { dgView.Columns.Add(createColumnTime("Zeit", "Runtime", "ResultCode")); setWarningLabelHandler(new RaceRunCompletedWarningLabelHandler(slVP2.BasedOnRun, lblWarning)); } else { setWarningLabelHandler(new RaceWarningLabelHandler(_thisRace, lblWarning)); } } dgView.ItemsSource = _viewProvider.GetView(); cmbTotalResultGrouping.SelectCBItem(_viewProvider.ActiveGrouping); UiUtilities.EnableOrDisableColumns(_thisRace, dgView); }