private void btnAddPlayer_Click(object sender, EventArgs e)
        {
            using (var dialog = new frmCreatePlayer())
            {
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    var record = new PlayerRecord();
                    record.FirstName = dialog.FirstName;
                    record.LastName = dialog.LastName;
                    if (dialog.AdditionalInformation)
                    {
                        record.ForumName = dialog.ForumName;
                        record.Email = dialog.Email;
                        record.Hometown = dialog.Hometown;
                        record.Region = dialog.PlayerRegion;
                        record.Faction = dialog.Faction;
                    }

                    Config.Settings.Players.Add(record);
                    Config.Settings.SavePlayers();

                    ListViewItem item = new ListViewItem();
                    item.Name = record.ID;
                    item.Text = record.FirstName;
                    item.SubItems.Add(record.LastName);
                    item.SubItems.Add(record.Region);

                    lstPlayers.BeginUpdate();
                    lstPlayers.Items.Add(item);
                    item.Selected = true;
                    lstPlayers.Sort();
                    lstPlayers.EndUpdate();
                }
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            string ID = GetPlayerID(cmbName.Text);
            if (ID == null)
            {
                if (MessageBox.Show("\"" + cmbName.Text + "\" appears to be a new player. Add them now?", "New Player",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) == DialogResult.No)
                    return;
                using (var dialog = new frmCreatePlayer(cmbName.Text))
                {
                    if (dialog.ShowDialog() == DialogResult.Cancel) return;

                    var record = new PlayerRecord();
                    record.FirstName = dialog.FirstName;
                    record.LastName = dialog.LastName;
                    if (dialog.AdditionalInformation)
                    {
                        record.ForumName = dialog.ForumName;
                        record.Email = dialog.Email;
                        record.Hometown = dialog.Hometown;
                        record.Region = dialog.PlayerRegion;
                        record.Faction = dialog.Faction;
                    }

                    Config.Settings.Players.Add(record);
                    Config.Settings.SavePlayers();
                    ID = GetPlayerID(cmbName.Text);

                    cmbName.Items.Add(record.Name);
                }
            }

            LeagueResultsEventArgs results = new LeagueResultsEventArgs(ID);

            foreach (ListViewItem item in lstAchievements.Items)
            {
                if (item.SubItems[2].Text != "0")
                {
                    Achievement achievement = ((Achievement)item.Tag).Clone();
                    achievement.Earned = Convert.ToInt32(item.SubItems[2].Text);
                    results.MatchResult.Achievements.Add(achievement);
                }
            }

            int myVPs = Convert.ToInt32(txtVPs.Text);
            int theirVPs = Convert.ToInt32(txtOpponentVPs.Text);

            results.MatchResult.VictoryPoints = myVPs;
            results.MatchResult.TournamentPoints = myVPs > theirVPs ? 3 : myVPs == theirVPs ? 1 : 0;
            results.MatchResult.Differential = myVPs - theirVPs;
            results.MatchResult.DatePlayed = DateTime.Now;

            if (LeagueResultsEnteredCallback != null) LeagueResultsEnteredCallback(this, results);

            if (chkContinuousAdd.Checked)
            {
                foreach (ListViewItem item in lstAchievements.Items)
                    item.SubItems[2].Text = "0";
                txtVPs.Text = "0";
                txtOpponentVPs.Text = "0";
                cmbName.Text = "";
                cmbName.Focus();
            }
            else
                this.Close();

        }
        private void btnAddNew_Click(object sender, EventArgs e)
        {
            using (var dialog = new frmCreatePlayer())
            {
                if (dialog.ShowDialog() == DialogResult.Cancel) return;

                var player = new PlayerRecord {FirstName = dialog.FirstName, LastName = dialog.LastName};
                if (dialog.AdditionalInformation)
                {
                    player.ForumName = dialog.ForumName;
                    player.Email = dialog.Email;
                    player.Hometown = dialog.Hometown;
                    player.Region = dialog.PlayerRegion;
                    player.Faction = dialog.Faction;
                }

                Config.Settings.Players.Add(player);
                Config.Settings.SavePlayers();

                var id = GetPlayerID(player.Name);
                var item = new ListViewItem { Name = id, Text = player.Name };
                item.SubItems.Add(player.Hometown);
                item.SubItems.Add("New");
                item.SubItems.Add(player.Faction.ToString());
                lstEnrolled.Items.Add(item);

                lblTotal.Text = "Total Players Enrolled: " + lstEnrolled.Items.Count.ToString();
            }
        }
        private void btnAddPlayer_Click(object sender, EventArgs e)
        {
            using (var dialog = new frmCreatePlayer())
            {
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    var record = new PlayerRecord();
                    record.FirstName = dialog.FirstName;
                    record.LastName = dialog.LastName;
                    if (dialog.AdditionalInformation)
                    {
                        record.ForumName = dialog.ForumName;
                        record.Email = dialog.Email;
                        record.Hometown = dialog.Hometown;
                        record.Region = dialog.PlayerRegion;
                        record.Faction = dialog.Faction;
                    }

                    Config.Settings.Players.Add(record);
                    Config.Settings.SavePlayers();

                    foreach (Form form in MdiChildren)
                        if (form is frmPlayers)
                        {
                            ((frmPlayers) form).RefreshList();
                            break;
                        }
                }
            }
        }