Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
            }
        }