Exemple #1
0
        public select_butaca(cargar_pasajero form_pasajero)
        {
            InitializeComponent();
            this.carg_pasajero = form_pasajero;
            stored_procedures stored_proc   = new stored_procedures();
            DataTable         tabla_butacas = stored_proc.get_Butacas(form_pasajero.viaje_cod);

            /* Filtramos Butacas que fueron seleccionadas en la compra para que no las puedan seleccionar*/

            DataColumn[] columns = new DataColumn[1];
            columns[0] = tabla_butacas.Columns["Nro_Butaca"];
            tabla_butacas.PrimaryKey = columns; //seteamos PK del DTable pues Find encuentra filtrando por la PK

            foreach (cargar_pasajero pasajero in form_pasajero.listas_pasajeros)
            {
                if (pasajero.viaje_cod == this.carg_pasajero.viaje_cod)
                {
                    tabla_butacas.Rows.Remove(tabla_butacas.Rows.Find(pasajero.butNro_tbox.Text));
                }
            }
            this.butaca_dataGrid.DataSource = tabla_butacas;
        }
Exemple #2
0
        private void cargar_pas_boton_Click(object sender, EventArgs e)
        {
            bool error = false;


            if (this.CantPasaj_numericUpDown.Value <= 0)
            {
                MessageBox.Show("Cantidad de Pasajes Incorrecta", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error = true;
            }

            if (this.cod_viaje_pasaje == "")
            {
                MessageBox.Show("Debe Seleccionar Viaje para el Pasaje", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error = true;
            }

            if (error)
            {
                return;
            }

            this.CantPasaj_numericUpDown.Enabled = false;
            int cant_pasajes = Convert.ToInt16(this.CantPasaj_numericUpDown.Value);
            int i;

            //cargamos los datos de los pasajeros
            this.tipo_viaje = 'P';                            //necesario porq encomienda y pasaje tienen mismo recorrido pero pueden realizarlo en distintos viajes
            select_viaje form_viaje = new select_viaje(this); //con esto me aseguro que siempre sea el mismo recorrido

            //int contador_discapacitados= 0;
            bool      sgte_acompañante = false;
            string    sexo;
            funciones func = new funciones();

            for (i = 0; i < cant_pasajes; i++)
            {
                //chequeo que hayan seleccionado un viaje si NO selecciono nada salgo del ciclo
                if (this.cod_viaje_pasaje != "")
                {
                    //cargo pasajero
                    cargar_pasajero pasajero = new cargar_pasajero(this.cod_viaje_pasaje, listas_pasajeros, sgte_acompañante);
                    pasajero.ShowDialog();

                    //chequeo que n hayan cancelado el pasaje
                    if (pasajero.transacc_pasaje_ok)
                    {
                        //chequeo si es discapacitado el pasajero
                        if (pasajero.discapacitado_checkB.Checked)
                        {
                            if ((i != cant_pasajes - 1) & (form_viaje.cant_butacas_disponibles - 1 != 0))//verificamos que no sea el ultimo pasajero
                            {
                                //si NO es el ult pasajero y es discapacitado preguntamos si viaja con acompañanate o no
                                DialogResult respuesta = MessageBox.Show("Datos Ingresados Correctamente. El pasajero Ingresado es discapacitado, ¿viaja con acompañante ?", "Compra", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
                                if (respuesta == DialogResult.Yes)
                                {
                                    sgte_acompañante = true;
                                    MessageBox.Show("Ingrese los datos del acompañante del pasajero Discapacitado", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    //form_viaje.but_a_reservar++;
                                }
                                //else
                                //{
                                // MessageBox.Show("A continuación debe seleccionar viaje del siguiente Pasajero", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                //form_viaje.but_a_reservar++;
                                //form_viaje.ShowDialog();
                                //}
                            }
                        }
                        else
                        {
                            sgte_acompañante = false;
                            /*----------Si no es discapacitado analizo si es Pensionado / Jubilado----------------*/

                            if (pasajero.mascul_radioBut.Checked)
                            {
                                sexo = "M";
                            }
                            else
                            {
                                sexo = "F";
                            }

                            if (pasajero.pensionado_checkB.Checked | func.es_jubilado(pasajero.fecNacDateTimeP.Text, sexo))
                            {
                                pasajero.costo_pasaje = pasajero.costo_pasaje / 2; //aplico descuento del 50%
                            }
                            if (cant_pasajes - 1 != i)
                            {
                                MessageBox.Show("Datos del Pasajero Ingresados Correctamente. A continuación debe seleccionar viaje del siguiente Pasajero", "Compra", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                // form_viaje.but_a_reservar++;
                                //form_viaje.ShowDialog();
                            }
                        }


                        //si se ingreso correctamente el pasaje lo cargamos en la coleccion de pasajeros
                        listas_pasajeros.Add(pasajero);
                        if (!sgte_acompañante & (cant_pasajes - 1 != i))
                        {
                            form_viaje.ShowDialog();
                        }
                    }
                }
                else
                {
                    break; //si salieron de seleccionar un viaje salimos y se computan los pasajes cargados hasta el momento
                }
            }

            if (this.CantPasaj_numericUpDown.Value != this.listas_pasajeros.Count)
            {
                //si se cancelo algun pasaje actualizamos la cant_pasajes
                this.CantPasaj_numericUpDown.Value = this.listas_pasajeros.Count;
            }
            if (this.listas_pasajeros.Count == 0)
            {
                //se cancelaron todos los pasajes
                return;
            }

            /*---------Una vez cargados todos los pasajes calculo el costo total-------*/
            stored_procedures stored_proc            = new stored_procedures();
            decimal           sub_total_compra_pasaj = 0;

            foreach (cargar_pasajero pasaje in listas_pasajeros)
            {
                sub_total_compra_pasaj += pasaje.costo_pasaje;
            }
            this.sub_total_pasaj_tbox.Text = sub_total_compra_pasaj.ToString("N2"); //muestre 2 decimas
            this.total_compra            += sub_total_compra_pasaj;
            this.total_tbox.Text          = this.total_compra.ToString("N2");
            this.cargar_pas_boton.Enabled = false;
        }