private void button1_Click(object sender, EventArgs e) { PlayerForm plForm = new PlayerForm(); 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 pl = new Player(); pl.Name = plForm.textBox1.Text; pl.Age = (int)plForm.numericUpDown1.Value; teams.Clear(); foreach (var item in plForm.listBox1.SelectedItems) { teams.Add((Team)item); } pl.Teams = teams; db.Players.Add(pl); db.SaveChanges(); MessageBox.Show("Новый игрок добавлен"); }
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.textBox1.Text = player.Name; plForm.numericUpDown1.Value = player.Age; 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("Информация обновлена"); }