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(); } }
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); }