private void bAdd_Click(object sender, EventArgs e) { frmAircraft Addfrm = new frmAircraft(); if (cbType.SelectedIndex != -1) { Addfrm.tbType.Text = cbType.SelectedItem.ToString(); } AircraftFactory aircraftFactory = createAircraftByType(cbType.SelectedItem.ToString()); Aircraft aircraft = aircraftFactory.createAircraft(); bool[] visibleTBs = { false, false, false, false }; if (cbType.SelectedItem.ToString() == "Вертолет") { Addfrm.tbEngPwr.Visible = true; Addfrm.tbRotDiam.Visible = true; visibleTBs[2] = true; visibleTBs[3] = true; } if (cbType.SelectedItem.ToString() == "Аэроплан") { Addfrm.tbWingspan.Top = Addfrm.tbWingspan.Top - 37; Addfrm.tbWingspan.Visible = true; visibleTBs[1] = true; } if (cbType.SelectedItem.ToString() == "Самолет") { Addfrm.tbEngPwr.Visible = true; Addfrm.tbWingspan.Top = Addfrm.tbWingspan.Top - 37; Addfrm.tbWingspan.Visible = true; visibleTBs[1] = true; visibleTBs[2] = true; } if (cbType.SelectedItem.ToString() == "Планер") { Addfrm.tbLoadCap.Visible = true; Addfrm.tbWingspan.Visible = true; visibleTBs[0] = true; visibleTBs[1] = true; } DialogResult dlgRes = Addfrm.ShowDialog(this); if (dlgRes == DialogResult.Cancel) { return; } List <string> aircraftData = new List <string>(); aircraftData.Add(Addfrm.tbName.Text); aircraftData.Add(Addfrm.tbTailNum.Text); aircraftData.Add(Addfrm.tbMaxSp.Text); aircraftData.Add(Addfrm.tbFlDist.Text); if (visibleTBs[0]) { aircraftData.Add(Addfrm.tbLoadCap.Text); } if (visibleTBs[1]) { aircraftData.Add(Addfrm.tbWingspan.Text); } if (visibleTBs[2]) { aircraftData.Add(Addfrm.tbEngPwr.Text); } if (visibleTBs[3]) { aircraftData.Add(Addfrm.tbRotDiam.Text); } aircraft.SetValues(aircraftData); db.Aircrafts.Add(aircraft); db.SaveChanges(); cbType.SelectedIndex = -1; }
private void bEdit_Click(object sender, EventArgs e) { if (dgvAdmin.SelectedRows.Count > 0) { frmAircraft Editfrm = new frmAircraft(); if (cbType.SelectedIndex != -1) { Editfrm.tbType.Text = cbType.SelectedItem.ToString(); } int index = dgvAdmin.SelectedRows[0].Index; string Name = dgvAdmin[1, index].Value.ToString(); bool[] visibleTBs = { false, false, false, false }; if (cbType.SelectedItem.ToString() == "Вертолет") { Editfrm.tbEngPwr.Visible = true; Editfrm.tbRotDiam.Visible = true; visibleTBs[2] = true; visibleTBs[3] = true; } if (cbType.SelectedItem.ToString() == "Аэроплан") { Editfrm.tbWingspan.Top = Editfrm.tbWingspan.Top - 37; Editfrm.tbWingspan.Visible = true; visibleTBs[1] = true; } if (cbType.SelectedItem.ToString() == "Самолет") { Editfrm.tbEngPwr.Visible = true; Editfrm.tbWingspan.Top = Editfrm.tbWingspan.Top - 37; Editfrm.tbWingspan.Visible = true; visibleTBs[1] = true; visibleTBs[2] = true; } if (cbType.SelectedItem.ToString() == "Планер") { Editfrm.tbLoadCap.Visible = true; Editfrm.tbWingspan.Visible = true; visibleTBs[0] = true; visibleTBs[1] = true; } Aircraft aircraft = db.Aircrafts .Where(aircr => aircr.Name == Name) .FirstOrDefault(); List <string> aircraftData = new List <string>(); aircraftData = aircraft.GetValues(); Editfrm.tbName.Text = aircraftData[0]; Editfrm.tbTailNum.Text = aircraftData[1]; Editfrm.tbMaxSp.Text = aircraftData[2]; Editfrm.tbFlDist.Text = aircraftData[3]; Editfrm.tbWingspan.Text = aircraftData[4]; Editfrm.tbEngPwr.Text = aircraftData[5]; Editfrm.tbRotDiam.Text = aircraftData[6]; Editfrm.tbLoadCap.Text = aircraftData[7]; DialogResult dlgRes = Editfrm.ShowDialog(this); if (dlgRes == DialogResult.Cancel) { return; } aircraftData.Clear(); aircraftData.Add(Editfrm.tbName.Text); aircraftData.Add(Editfrm.tbTailNum.Text); aircraftData.Add(Editfrm.tbMaxSp.Text); aircraftData.Add(Editfrm.tbFlDist.Text); if (visibleTBs[0]) { aircraftData.Add(Editfrm.tbLoadCap.Text); } if (visibleTBs[1]) { aircraftData.Add(Editfrm.tbWingspan.Text); } if (visibleTBs[2]) { aircraftData.Add(Editfrm.tbEngPwr.Text); } if (visibleTBs[3]) { aircraftData.Add(Editfrm.tbRotDiam.Text); } aircraft.SetValues(aircraftData); db.SaveChanges(); cbType.SelectedIndex = -1; } }