Exemplo n.º 1
0
        private void aceptarMaterialFlatButton_Click(object sender, EventArgs e)
        {
            if (allReady() && (Convert.ToInt32(asientosLineTextField.Text) % 2 == 0) && routeFree() && !beSelf())
            {
                Vuelo v = new Vuelo(
                    origenLineTextField.Text.ToCharArray()[0],
                    destinoLineTextField.Text.ToCharArray()[0],
                    Convert.ToInt32(tiempoLineTextField.Text),
                    Convert.ToInt32(costoLineTextField.Text),
                    Convert.ToInt32(asientosLineTextField.Text)
                    );
                this.flyList.Add(v);
                // ************************************************************
                // Aqui es donde se hace el agregado para el nodo

                if (!graph.existVertex(v.getOrigen()))
                {
                    graph.addVertex(v.getOrigen());
                    GraphForm grafoVentana = new GraphForm(ref graph, 1);
                    this.Hide();
                    grafoVentana.ShowDialog();
                    this.Show();
                    int x = grafoVentana.getPosX();
                    int y = grafoVentana.getPosY();

                    if (x > -1 && y > -1)
                    {
                        graph.setCityPoints(v.getOrigen(), x, y);
                    }
                }
                if (!graph.existVertex(v.getDestino()))
                {
                    graph.addVertex(v.getDestino());
                    GraphForm grafoVentana = new GraphForm(ref graph, 1);
                    this.Hide();
                    grafoVentana.ShowDialog();
                    this.Show();
                    int x = grafoVentana.getPosX();
                    int y = grafoVentana.getPosY();
                    if (x > -1 && y > -1)
                    {
                        graph.setCityPoints(v.getDestino(), x, y);
                    }
                }
                graph.createAdy(v.getOrigen(), v.getDestino(), v.getCosto(), v.getTiempo());
                // *************************************************************

                this.Close();
            }
            else if (!routeFree())
            {
                MessageBox.Show("La ruta ya esta ocupada", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (beSelf())
            {
                MessageBox.Show("El origen y destino son el mismo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if ((Convert.ToInt32(asientosLineTextField.Text) % 2 != 0))
            {
                MessageBox.Show("El número de asientos debe ser par", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Algun dato esta erroneo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }