//busca en la base de datos coincidencias de origen y destino
        private void button3_Click(object sender, EventArgs e)
        {
            ciudad origen = comboBox2.SelectedItem as ciudad;

            ciudad destino = comboBox3.SelectedItem as ciudad;

            //carga en el combobox la lista de viajes que satisfagan la busqueda realizada
            comboBox1.Items.Clear();
            label16.Text = "";
            bool encontro = false;

            foreach (var item in bd.viajes)
            {
                if (item.dev_origen() == origen.devolver_nombre() &&
                    item.dev_destino() == destino.devolver_nombre())
                {
                    comboBox1.Items.Add(item);
                    encontro = true;
                }
            }
            if (encontro == false)
            {
                label16.Text = "No se encontraron viajes.";
            }
        }
 //constructor
 public viaje(ciudad origen, ciudad destino, string fecha, string hora, Empresa empresa, colectivo colectivo, string categoria)
 {
     this.empresa   = empresa;
     this.origen    = origen;
     this.destino   = destino;
     this.fecha     = fecha;
     this.hora      = hora;
     this.colectivo = colectivo;
     asientos       = new List <int>();
 }
示例#3
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);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //controla que se haya seleccionado una ciudad
            if (comboBox1.Text != "")
            {
                //se elimina la ciudad de la lista
                ciudad nueva = comboBox1.SelectedItem as ciudad;
                bd.ciudades.Remove(nueva);

                //se actualiza la lista del combobox
                comboBox1.Text = "";
                comboBox1.Items.Clear();
                foreach (var item in bd.ciudades)
                {
                    comboBox1.Items.Add(item);
                }
            }
        }
示例#5
0
        //agrega una ciudad a la base de datos
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                //recoge los datos de los textbox
                string nombre_ciudad = textBox1.Text;
                int    x             = int.Parse(textBox2.Text);
                int    y             = int.Parse(textBox3.Text);

                //carga en un array las coordenadas y crea el objeto ciudad
                int[]  coordenadas = { x, y };
                ciudad nueva       = new ciudad(nombre_ciudad, coordenadas);

                //esta variable indica si se puede crear la ciudad o no
                bool disponible = true;

                //verifica que ya no exista una ciudad con el mismo nombre
                foreach (var item in bd.ciudades)
                {
                    if (item.devolver_nombre() == nombre_ciudad)
                    {
                        disponible = false;
                    }
                }

                //si no existe una ciudad con el mismo nombre, la crea
                if (disponible == true)
                {
                    //añade la ciudad a la base de datos y cierra el archivo
                    bd.ciudades.Add(nueva);
                    bd.Save();
                    this.Close();
                }
            }

            //si se ingresaron datos incorrectos, se muestra mensaje de error
            catch
            {
                MessageBox.Show("Datos incorrectos", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        //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);
            }
        }