Esempio n. 1
0
        private void confirmarButton_Click(object sender, EventArgs e)
        {
            // 0 = efectivo
            // 1 = tarjeta
            if (this.medioDePagoCombo.SelectedIndex == 0 && this.hayCamposVacios())
            {
                MessageBox.Show("Complete todos los datos de tarjeta para continuar.");
                return;
            }

            if (this.medioDePagoCombo.SelectedIndex == 0 && this.fechaTarjetaInvalida())
            {
                MessageBox.Show("La fecha de vencimiento de la tarjeta es invalida.");
                return;
            }

            DAO.connect();

            String dni = this.documentoTextbox.Text;

            Cliente cliente = DAO.selectOne <Cliente>(new[] { "dni = " + dni });

            Models.Compra compra = new Models.Compra();

            compra.Medio_Pago_Id = this.medioDePagoCombo.SelectedIndex + 1; // :D
            compra.Cliente_Id    = cliente.Id;
            compra.Fecha_Compra  = Config.SystemConfig.systemDate;
            compra.PNR           = (this.getMaxIdCompra() + 1).ToString();

            if (this.medioDePagoCombo.SelectedIndex == 0)
            {
                compra.Numero_Tarjeta      = Convert.ToInt32(this.numeroTextbox.Text);
                compra.Codigo_Tarjeta      = Convert.ToInt32(this.codigoTextbox.Text);
                compra.Vencimiento_Tarjeta = Convert.ToInt32(this.vencimientoTextbox.Text);
                compra.Tipo_Tarjeta_Id     = this.tipoCombo.SelectedIndex + 1;    // :D
                compra.Cant_Cuotas         = (cuotasCombo.SelectedIndex + 1) * 3; // :D !!!
            }
            else
            {
                compra.Tipo_Tarjeta_Id = 1; //default, si entra en 0 rompe
            }

            int compra_id = DAO.insert <Models.Compra>(compra);

            List <int> pasajesIds = new List <int>();

            int i = 0;

            foreach (int p in pasajerosIds)
            {
                Pasaje pasaje = new Pasaje();
                pasaje.Viaje_id   = selectedViaje.Id;
                pasaje.Cliente_Id = p;
                pasaje.Butaca_Id  = butacasNumeros[i];
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Pasajes;
                Decimal mult       = this.selectedAeronave.Tipo_Servicio.Porcentaje;
                pasaje.Precio = precioBase * mult;
                pasaje.Codigo = this.getMaxCodigoPasaje() + 1;
                pasaje.Activo = true;
                DAO.connect();
                int id = DAO.insert <Pasaje>(pasaje);
                DAO.closeConnection();
                pasajesIds.Add(id);
                i++;
            }

            List <int> paquetesIds = new List <int>();

            int j = 0;

            foreach (int p in clientesIds)
            {
                Paquete paquete = new Paquete();
                paquete.Viaje_Id   = selectedViaje.Id;
                paquete.Cliente_Id = p;
                Decimal precioBase = this.selectedViaje.Ruta.Precio_Base_Kg;
                paquete.Precio = precioBase * pesos[j];
                paquete.Codigo = this.getMaxCodigoPaquete() + 1;
                paquete.Activo = true;
                DAO.connect();
                int id = DAO.insert <Paquete>(paquete);
                DAO.closeConnection();
                paquetesIds.Add(id);
                j++;
            }

            foreach (int p in pasajesIds)
            {
                Compra_Pasaje cp = new Compra_Pasaje();
                cp.Compra_Id = compra_id;
                cp.Pasaje_Id = p;
                DAO.insert <Compra_Pasaje>(cp);
            }

            foreach (int p in paquetesIds)
            {
                Compra_Paquete cp = new Compra_Paquete();
                cp.Compra_Id  = compra_id;
                cp.Paquete_Id = p;
                DAO.insert <Compra_Paquete>(cp);
            }

            DAO.closeConnection();
            var dr = MessageBox.Show("Pago confirmado con exito. Su PNR es " + compra.PNR + ". Será solicitado en caso de querer efectuar una devolución.", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);

            if (dr == DialogResult.OK)
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
Esempio n. 2
0
        private void devolucionButton_Click(object sender, EventArgs e)
        {
            int pasajesCount  = this.pasajesDatagrid.SelectedRows.Count;
            int paquetesCount = this.paquetesDatagrid.SelectedRows.Count;

            if (pasajesCount == 0 && paquetesCount == 0)
            {
                MessageBox.Show("Debe elegir por lo menos un pasaje o una encomienda para iniciar la cancelación.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            DialogResult result = MessageBox.Show(this.buildConfirmMsg(pasajesCount, paquetesCount), "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

            if (result != DialogResult.OK)
            {
                return;
            }

            DAO.connect();

            DataGridViewRow d   = this.pasajesDatagrid.SelectedRows[0];
            decimal         cod = (decimal)d.Cells[0].Value;
            Pasaje          p   = DAO.selectOne <Pasaje>(new[] { "codigo = " + cod.ToString() });
            Compra_Pasaje   cpp = DAO.selectOne <Compra_Pasaje>(new[] { "pasaje_id = " + p.Id });

            Models.Compra referencia = DAO.selectOne <Models.Compra>(new[] { "id = " + cpp.Compra_Id });

            Cancelacion cancelacion = new Cancelacion();

            cancelacion.Fecha         = Config.SystemConfig.systemDate;
            cancelacion.Motivo        = this.motivoTextbox.Text;
            cancelacion.Numero_Compra = referencia.PNR;
            int cancelacion_id = DAO.insert <Cancelacion>(cancelacion);

            foreach (DataGridViewRow pasaje in this.pasajesDatagrid.SelectedRows)
            {
                decimal codigo           = (decimal)pasaje.Cells[0].Value;
                Pasaje  pasaje_cancelado = DAO.selectOne <Pasaje>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Pasaje cp = new Cancelacion_Pasaje();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Pasaje_Id      = pasaje_cancelado.Id;

                pasaje_cancelado.Activo = false;

                DAO.insert <Cancelacion_Pasaje>(cp);
                DAO.update <Pasaje>(pasaje_cancelado);
            }

            foreach (DataGridViewRow paquete in this.paquetesDatagrid.SelectedRows)
            {
                decimal codigo            = (decimal)paquete.Cells[0].Value;
                Paquete paquete_cancelado = DAO.selectOne <Paquete>(new[] { "codigo = " + codigo.ToString() });

                Cancelacion_Paquete cp = new Cancelacion_Paquete();
                cp.Cancelacion_Id = cancelacion_id;
                cp.Paquete_Id     = paquete_cancelado.Id;

                paquete_cancelado.Activo = false;

                DAO.insert <Cancelacion_Paquete>(cp);
                DAO.update <Paquete>(paquete_cancelado);
            }

            DAO.closeConnection();

            MessageBox.Show("Baja concretada.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }