//crea el viaje y lo guarda en la lista de viajes comprados private void button1_Click(object sender, EventArgs e) { try { //variable que indica el tipo de pasaje seleccionado string tipo; //variable que indica que se ingresaron todos los campos requeridos bool correcto = false; //controla que se hayan completado los campos correspondientes de acuerdo al tipo de pasaje if (comboBox2.Text != "" && comboBox3.Text != "" && comboBox1.Text != "" && comboBox5.Text != "") { if (comboBox5.Text == "General") { correcto = true; } else { if (comboBox5.Text == "Estudiante") { if (textBox4.Text != "" && textBox5.Text != "" && textBox6.Text != "") { correcto = true; } } else { if (textBox3.Text != "") { correcto = true; } } } //si los campos están completos, crea el viaje para el usuario if (correcto == true) { ciudad o = comboBox2.SelectedItem as ciudad; ciudad d = comboBox3.SelectedItem as ciudad; viaje elegido = comboBox1.SelectedItem as viaje; tipo = comboBox5.Text; //crea objeto viaje recogiendo datos del viaje elegido viaje nuevo = new viaje(o, d, elegido.dev_fecha(), elegido.dev_hora(), elegido.recibir_empresa(), elegido.recibir_colectivo(), elegido.dev_categoria()); //guarda categoria del viaje comprado nuevo.establecer_categoria(CATEGORIAtextBox2.Text); //guarda precio del viaje comprado nuevo.asignar_precio(elegido.devolver_precio()); //guarda el tipo de pasaje elegido if (comboBox5.Text == "Estudiante") { nuevo.asignar_tipo(estudiante.devolver_datos()); } else { if (comboBox5.Text == "Jubilado") { nuevo.asignar_tipo(jubilado.devolver_datos()); } else { nuevo.asignar_tipo(general.devolver_datos()); } } string tipo_pasaje = comboBox5.Text; double precio_descontado; //recibe el precio del viaje double precio_viaje = nuevo.devolver_precio(); //realiza el descuento correspondiente dependiendo del tipo de pasaje if (tipo_pasaje == "General") { precio_descontado = general.aplicar_descuento(precio_viaje); } else { if (tipo_pasaje == "Estudiante") { precio_descontado = estudiante.aplicar_descuento(precio_viaje); } else { precio_descontado = jubilado.aplicar_descuento(precio_viaje); } } nuevo.modificar_precio(precio_descontado); //guarda el asiento elegido en el viaje del usuario, y lo quita de la lista de disponibles int asiento_elegido = int.Parse(comboBox4.Text); elegido.selec_asiento(asiento_elegido); nuevo.cargar_asiento(asiento_elegido); //agrega el viaje a la lista de viajes del usuario activo usuario_gral usuario_activo = bd.usuario_activo; bd.usuario_activo.viajes.Add(nuevo); //guarda y cierra bd.Save(); this.Close(); } //si se ingresaron datos incorrectos, muestra mensaje de error else { MessageBox.Show("Datos incorrectos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } //si se ingresaron datos incorrectos, muestra mensaje de error catch { MessageBox.Show("Datos incorrectos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }