Ejemplo n.º 1
0
        private void TournamentManager_RaceUpdated(int tournamentID, RaceUpdatedEventArgs e)
        {
            if (!Application.Current.Dispatcher.CheckAccess())
            {
                Application.Current.Dispatcher.Invoke(() => this.TournamentManager_RaceUpdated(tournamentID, e));
            }
            else
            {
                if ((_race == null) || (tournamentID != this.TournamentID) || (e.Race.RaceNumber != _race.RaceNumber))
                {
                    return;
                }

                _race = e.Race;
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.CurrentRace)));
                this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.RaceState)));
                UpdateLanes(_race);
            }
        }
Ejemplo n.º 2
0
        private void TournamentManager_RaceUpdated(int tournamentID, RaceUpdatedEventArgs e)
        {
            if (!Application.Current.Dispatcher.CheckAccess())
            {
                Application.Current.Dispatcher.Invoke(() => this.TournamentManager_RaceUpdated(tournamentID, e));
            }
            else
            {
                if (tournamentID != this.TournamentID)
                {
                    return;
                }

                foreach (EditRaceViewModel race in this.Races)
                {
                    if (race.RaceNumber == e.Race.RaceNumber)
                    {
                        race.Update(e.Race);
                        break;
                    }
                }
            }
        }
Ejemplo n.º 3
0
 private void TournamentManager_RaceUpdated(int tournamentID, RaceUpdatedEventArgs e)
 {
     Clients.All.currentRaceUpdated(tournamentID, e.Race);
 }