/// <summary> /// Handles the message. /// </summary> /// <param name="message">The message.</param> public void Handle(ArenaSessionUpdated message) { if (this.SelectedArenaSession == null) { return; } if (message.ArenaSessionId == this.SelectedArenaSession.Id) { var updatedArena = arenaRepository.FirstOrDefault(x => x.Id == message.ArenaSessionId); SelectedArenaSession.MapFrom(updatedArena); InitViewModel(SelectedArenaSession); } }
/// <summary> /// Handles the message. /// </summary> /// <param name="message">The message.</param> public void Handle(ArenaSessionUpdated message) { var oldSelectedGame = SelectedGame; var selectedArena = SelectedArenaSession; Execute.OnUIThread( () => { using (PauseNotify.For(this)) { var arena = arenaSessions.FirstOrDefault(x => x.Id == message.ArenaSessionId); var updatedArena = arenaRepository.FirstOrDefault(x => x.Id == message.ArenaSessionId); if (arena != null) { arena.MapFrom(updatedArena); SelectedArenaSession = selectedArena; SelectedGame = oldSelectedGame; RefreshStats(); } } }); }