/// <summary> /// Constructor que llama al base, y agrega las dos nuevas variables de avión. /// </summary> /// <param name="marca"></param> /// <param name="modelo"></param> /// <param name="velocidadMaxima"></param> /// <param name="alturaMaxima"></param> /// <param name="peso"></param> /// <param name="largo"></param> /// <param name="ancho"></param> /// <param name="anio"></param> /// <param name="tipo"></param> /// <param name="motor"></param> public Avion(string marca, string modelo, int velocidadMaxima, int alturaMaxima, float peso, float largo, float ancho, int anio, EAvion tipo, EMotores motor) : base(marca, modelo, velocidadMaxima, alturaMaxima, peso, largo, ancho, anio) { this.motor = motor; this.tipo = tipo; }
/// <summary> /// El botón guardar intenta validar que las variables de texto no estén vacías, e intenta pasar la variable anio a /// int también. Una vez que está todo correctamente verificado, las variables declaradas al comienzo del FormAgregarModificar /// que corresponden a las de todas las aeronaves, son igualadas a las que el usuario escribió. Luego se verifican las variables /// de texto particulares de cada aeronave (por ejemplo, los rotores de un helicóptero), y una vez que está todo verificado, /// se crea una nueva aeronave del tipo indicado, y la variable BSave a true, para luego poder informar al usuario que están /// los nuevos datos sin guardar. También agrega o modifica a SQL. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnGuardar_Click(object sender, EventArgs e) { try { anio = Convert.ToInt32(txtAnio.Text); } catch (Exception) { MessageBox.Show("Escriba un numero en año.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (txtAnio.Text == "" || TXTMarca.Text == "" || TXTModelo.Text == "") { MessageBox.Show("Una o más opciones están vacías.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { marca = TXTMarca.Text; modelo = TXTModelo.Text; velocidadMaxima = trackVelocidad.Value; alturaMaxima = trackAltura.Value; peso = trackPeso.Value; largo = (float)trackLargo.Value / 100; ancho = (float)trackAncho.Value / 100; } if (CMBAeronave.SelectedIndex == 0) { if (txtRotores.Text == "") { MessageBox.Show("Una o más opciones están vacías.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { rotores = Convert.ToInt32(txtRotores.Text); } catch (Exception) { MessageBox.Show("Escriba un numero en rotores.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } tipoHelicoptero = (EHelicoptero)cmbTipo.SelectedIndex; aeronave = new Helicoptero(marca, modelo, velocidadMaxima, alturaMaxima, peso, largo, ancho, anio, rotores, tipoHelicoptero); BSave = true; AccesoDatos accesoDatos = new AccesoDatos(); if (modo2 == EModo.Agregar) { accesoDatos.AgregarHelicoptero((Helicoptero)aeronave); } else { accesoDatos.ModificarHelicoptero((Helicoptero)aeronave); } } else if (CMBAeronave.SelectedIndex == 1) { motores = (EMotores)cmbMotor.SelectedIndex; aeronave = new Avion(marca, modelo, velocidadMaxima, alturaMaxima, peso, largo, ancho, anio, tipo, motores); BSave = true; AccesoDatos accesoDatos = new AccesoDatos(); if (modo2 == EModo.Agregar) { accesoDatos.AgregarAvion((Avion)aeronave); } else { accesoDatos.ModificarAvion((Avion)aeronave); } } else if (CMBAeronave.SelectedIndex == 2) { if (txtPasajeros.Text == "") { MessageBox.Show("Una o más opciones están vacías.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { pasajeros = Convert.ToInt32(txtPasajeros.Text); } catch (Exception) { MessageBox.Show("Escriba un numero en pasajeros.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } capacidadAire = trackCapacidadAire.Value; aeronave = new Globo(marca, modelo, velocidadMaxima, alturaMaxima, peso, largo, ancho, anio, capacidadAire, pasajeros); AccesoDatos accesoDatos = new AccesoDatos(); if (modo2 == EModo.Agregar) { accesoDatos.AgregarGlobo((Globo)aeronave); } else { accesoDatos.ModificarGlobo((Globo)aeronave); } BSave = true; } this.Close(); }