private void button1_Click(object sender, EventArgs e) { DataBase.GetInstance().Transaccion_Comenzar(); ClienteDAO cl_dao = new ClienteDAO(); Cliente responsable = cl_dao.Cliente_FindByDni(Convert.ToInt32(txtDni.Text)); if (responsable == null) responsable = new Cliente(); responsable.Dni = Convert.ToInt32(txtDni.Text); responsable.Nombre = txtNombre.Text; responsable.Apellido = txtApellido.Text; responsable.Direccion = txtDireccion.Text; responsable.Mail = txtMail.Text; responsable.Telefono = Convert.ToInt32(txtTelefono.Text); responsable.FechaNac = new DateTime(cmbAnio.SelectedIndex + 1900, cmbMes.SelectedIndex + 1, (int)cmbDia.SelectedValue); cl_dao.Guardar_cliente(responsable); string base64Guid = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 8).ToUpper(); detalle.PNR = base64Guid; detalle.FechaCompra = DateTime.Now; detalle.Responsable_Pago = responsable; if (rdbTarjeta.Checked) { if (txtTC_Venc.Text.Length != 4) { MessageBox.Show("El vencimiento de la tarjeta es invalido"); return; } detalle.TC_Numero = Convert.ToInt32(txtTC_Numero.Text); detalle.TC_Tipo = cmbTC_Tipo.SelectedValue.ToString(); detalle.Cuotas = Convert.ToInt32(cmbTC_Cuotas.SelectedValue); detalle.TC_Vencimiento = txtTC_Venc.Text; detalle.MedioPago = "TC"; } else { detalle.MedioPago = "Efectivo"; } new DetalleCompraDAO().Guardar_detalleCompra(detalle); PasajeDAO pasaje_dao = new PasajeDAO(); foreach (Pasaje p in pasajes) { pasaje_dao.Guardar_pasaje(p); } if (paquete != null) new PaqueteDAO().Guardar_paquete(paquete); DataBase.GetInstance().Transaccion_Commit(); MessageBox.Show("Gracias por su compra. Su PNR es: " + base64Guid); Main form = new Main(); form.Show(); this.Hide(); }