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