コード例 #1
0
        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;
                    }
                }
            }
        }
コード例 #2
0
        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) { }
        }