Example #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            PlayerForm plForm = new PlayerForm();

            // добавляем список команд в на форму plForm
            List<Team> teams = db.Teams.ToList();
            plForm.listBox1.DataSource = teams;
            plForm.listBox1.ValueMember = "Id";
            plForm.listBox1.DisplayMember = "Name";

            DialogResult result = plForm.ShowDialog(this);
            if (result == DialogResult.Cancel)
                return;

            Player player = new Player();
            player.Age = (int)plForm.numericUpDown1.Value;
            player.Name = plForm.textBox1.Text;

            teams.Clear(); // очищаем список и заново заполняем его выделенными элементами
            foreach (var item in plForm.listBox1.SelectedItems)
            {
                teams.Add((Team)item);
            }
            player.Teams = teams;
            db.Players.Add(player);
            db.SaveChanges();

            MessageBox.Show("Новый игрок добавлен");
        }
Example #2
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count < 1)
                return;

            int index = dataGridView1.SelectedRows[0].Index;
            int id = 0;
            bool converted = Int32.TryParse(dataGridView1[0, index].Value.ToString(), out id);
            if (converted == false)
                return;

            Player player = db.Players.Find(id);

            PlayerForm plForm = new PlayerForm();
            plForm.numericUpDown1.Value = player.Age;
            plForm.textBox1.Text = player.Name;

            // получаем список команд 
            List<Team> teams = db.Teams.ToList();
            plForm.listBox1.DataSource = teams;
            plForm.listBox1.ValueMember = "Id";
            plForm.listBox1.DisplayMember = "Name";
            foreach (Team t in player.Teams)
                plForm.listBox1.SelectedItem = t;

            DialogResult result = plForm.ShowDialog(this);
            if (result == DialogResult.Cancel)
                return;

            player.Age = (int)plForm.numericUpDown1.Value;
            player.Name = plForm.textBox1.Text;

            // проверяем наличие команд у игрока
            foreach (var team in teams)
            {
                if (plForm.listBox1.SelectedItems.Contains(team))
                {
                    if (!player.Teams.Contains(team))
                        player.Teams.Add(team);
                }
                else
                {
                    if (player.Teams.Contains(team))
                        player.Teams.Remove(team);
                }
            }
            db.Entry(player).State = EntityState.Modified;
            db.SaveChanges();
            MessageBox.Show("Информация обновлена");
        }