private void Edit(object sender, MouseButtonEventArgs e) { var item = (sender as ListViewItem); if (item != null) { var TournamentGame = item.DataContext as ViewModels.TournamentGameTable; if (TournamentGame != null) { var dataItem = db.TournamentGames.Find(TournamentGame.Id); this.DataContext = dataItem; cmbBoardGames.SelectedValue = dataItem.BoardGame; cmbTournaments.SelectedValue = dataItem.Tournament; GamePlayers.Visibility = Visibility.Visible; var tournamentGamePlayer = new TournamentGamePlayer(); tournamentGamePlayer.TournamentGameId = TournamentGame.Id; GamePlayers.DataContext = tournamentGamePlayer; cmbPlayers.SelectedItem = null; cmbPlayers.ItemsSource = db.TournamentPlayers.Where(x => x.TournamentId == TournamentGame.TournamentId).Select(x => x.Player).ToList(); if (dataItem.TournamentGamePlayers != null) { lstPlayers.ItemsSource = dataItem.TournamentGamePlayers.OrderByDescending(x => x.Score).ToList(); } else { lstPlayers.ItemsSource = null; } } } }
private void CreateOrUpdatePlayer(object sender, RoutedEventArgs e) { try { TournamentGame tournamentGame = (TournamentGame)this.DataContext; var item = GamePlayers.DataContext as TournamentGamePlayer; if (item.Id != 0) { db.SaveChanges(); NewPlayer(tournamentGame.Id); LoadTable(tournamentGame.Tournament.Id); } else { int playerId = ((Player)cmbPlayers.SelectedItem).Id; bool alreadyInGame = tournamentGame.TournamentGamePlayers.Any(x => x.PlayerId == playerId); if (tournamentGame.Id != 0 && !alreadyInGame) { TournamentGamePlayer gameplayer = (TournamentGamePlayer)GamePlayers.DataContext; gameplayer.PlayerId = playerId; db.TournamentGamePlayers.Add(gameplayer); db.SaveChanges(); NewPlayer(tournamentGame.Id); LoadTable(tournamentGame.Tournament.Id); } } } catch (Exception ex) { } }