/// <summary> /// Handles the message. /// </summary> /// <param name="message">The message.</param> public void Handle(GameResultDeleted message) { var index = this.gameResults.FindIndex(x => x.Id == message.GameId); if (index >= 0) { this.gameResults.RemoveAt(index); if (SelectedGame != null && SelectedGame.Id == message.GameId) { if (index > 0) { SelectedGame = this.GameResults[index - 1]; } if (index == 0 && this.GameResults.Count > 0) { SelectedGame = this.GameResults[0]; } } RefreshStats(); } //var hasGame = this.gameResults.Any(x => x.Id == message.GameId); //if (hasGame) //{ // RefreshData(); // RefreshStats(); //} }
/// <summary> /// Handles the message. /// </summary> /// <param name="message">The message.</param> public void Handle(GameResultDeleted message) { if (message.ArenaId == null) { return; } if (message.ArenaId != null) { Execute.OnUIThread( () => { using (PauseNotify.For(this)) { int index; var game = GetGameResult(message.ArenaId.Value, message.GameId, out index); if (game == null) { return; } SelectedArenaSession = game.ArenaSession; if (index >= 0) { game.ArenaSession.Games.Remove(game); //if (SelectedGame != null && // SelectedGame.Id == game.Id) //{ // if (index > 0) // { // SelectedGame = game.ArenaSession.Games[index - 1]; // } // if (index == 0 && game.ArenaSession.Games.Count > 0) // { // SelectedGame = game.ArenaSession.Games[0]; // } //} } RefreshStats(); } }); } }
/// <summary> /// Handle the message with a Task. /// </summary> /// <param name="message">The message.</param> /// <returns> /// The Task that represents the operation. /// </returns> public Task Handle(GameResultDeleted message) { return(Task.Run(() => Refresh())); }