//para borrar colectivos de la lista private void button4_Click(object sender, EventArgs e) { colectivo colectivo = comboBox2.SelectedItem as colectivo; //si libre=true, el colectivo no tiene un viaje asignado bool libre = true; //verifica que el colectivo no este asignado a un viaje. Si lo está, muestra mensaje de error foreach (var item in bd.viajes) { if (item.recibir_colectivo() == colectivo) { MessageBox.Show("No se puede eliminar un colectivo asignado a un viaje. Debe cancelar el viaje primero.", "¡Invalido!", MessageBoxButtons.OK, MessageBoxIcon.Error); libre = false; } } //si el colectivo esta libre, lo quita de la lista if (libre == true) { comboBox2.Items.Remove(colectivo); empresa.colectivos.Remove(colectivo); } comboBox2.Text = ""; }
//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>(); }
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); } }
//añade el colectivo y actualiza el combobox de colectivos private void button7_Click(object sender, EventArgs e) { //añade al combobox la nueva matrícula string nueva_matricula = textBox6.Text; comboBox2.Items.Add(nueva_matricula); //añade el colectivo a la empresa colectivo nuevo = new colectivo(); nuevo.patente = textBox6.Text; empresa.colectivos.Add(nuevo); //oculta el textbox de añadir colectivo textBox6.Text = ""; textBox6.Visible = button7.Visible = false; }
private void button1_Click(object sender, EventArgs e) { //verifica que se haya ingresado una matrícula válida if (textBox1.Text != "" && textBox1.Text != " " && textBox1.Text != " " && textBox1.Text != " ") { //crea el colectivo con la matrícula indicada colectivo nuevo = new colectivo(); nuevo.patente = textBox1.Text; //abre la base de datos y guarda el colectivo creado para poder añadirlo a la empresa más adelante Basededatos bd = new Basededatos(); bd = Archivo.Open(); bd.colectivo.Add(nuevo); //guarda la base de datos bd.Save(); } //cierra la ventana this.Close(); }
//reserva el colectivo asignado e impide que se pueda usar para otros viajes public Basededatos reservar_colectivo(Basededatos bd, string empresa, string patente_colectivo) { //busca coimcidencias de empresa foreach (var item in bd.empresas) { if (item.nombre == empresa) { //busca coincidencias de colectivo foreach (var item2 in item.colectivos) { if (item2.patente == patente_colectivo) { //le asigna el estado "NO DISPONIBLE" colectivo = item2; item2.modificar_estado(false); } } } } return(bd); }