private void button1_Click(object sender, EventArgs e) { try { //instancia las ciudades, empresa y colectivo seleccionados ciudad origen = comboBox3.SelectedItem as ciudad; ciudad destino = comboBox4.SelectedItem as ciudad; Empresa empresa = comboBox5.SelectedItem as Empresa; colectivo colectivo = comboBox6.SelectedItem as colectivo; //se crea strings de fecha y hora de viaje DateTime dt = dateTimePicker1.Value; string fecha = dt.ToShortDateString(); string hora = comboBox1.Text; //se crea string de categoría string categoria = comboBox2.Text; //se crea el viaje usando el constructor viaje nuevo = new viaje(origen, destino, fecha, hora, empresa, colectivo, categoria); bd = nuevo.reservar_colectivo(bd, empresa.nombre, colectivo.patente); //se crean los 30 asientos que tiene un colectivo nuevo.crear_asientos(); //se calcula la distancia del viaje nuevo.calcular_km(); //se calcula el precio por distancia nuevo.calcular_precio(); //se añade el precio por categoría establecida nuevo.establecer_categoria(categoria); nuevo.sumar_categoria(); //se añade a la lista de viajes y se guarda bd.viajes.Add(nuevo); bd.Save(); //regresa a la ventana anterior this.Owner.Show(); this.Close(); } catch { MessageBox.Show("Falta rellenar campos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
//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); } }