/// <summary> /// Creates a PlayerStats instance from the currently displayed information and stats. /// </summary> /// <returns></returns> private PlayerStats createPlayerStatsFromCurrent() { if (cmbPosition2.SelectedItem == null) { cmbPosition2.SelectedItem = " "; } int teamF; if (chkIsActive.IsChecked.GetValueOrDefault() == false) { teamF = -1; } else { teamF = GetTeamIDFromDisplayName(cmbTeam.SelectedItem.ToString()); if (teamF == -1) { var atw = new ComboChoiceWindow("Select the team to which to sign the player", _teams, ComboChoiceWindow.Mode.OneTeam); if (atw.ShowDialog() == true) { teamF = Misc.GetTeamIDFromDisplayName(MainWindow.TST, ComboChoiceWindow.UserChoice); } else { teamF = -1; chkIsActive.IsChecked = false; } } } var ps = new PlayerStats(_psr.ID, txtLastName.Text, txtFirstName.Text, (Position) Enum.Parse(typeof (Position), cmbPosition1.SelectedItem.ToString()), (Position) Enum.Parse(typeof (Position), cmbPosition2.SelectedItem.ToString()), Convert.ToInt32(txtYearOfBirth.Text), Convert.ToInt32(txtYearsPro.Text), teamF, _psr.TeamS, chkIsActive.IsChecked.GetValueOrDefault(), false, _psr.Injury, chkIsAllStar.IsChecked.GetValueOrDefault(), chkIsNBAChampion.IsChecked.GetValueOrDefault(), _dtOv.Rows[0]) {Height = _psr.Height, Weight = _psr.Weight}; ps.UpdateCareerHighs(recordsList.Single(r => r.Type == "Career")); ps.UpdateContract(dgvContract.ItemsSource.Cast<PlayerStatsRow>().First()); return ps; }