private void btn_facturar_Click(object sender, EventArgs e) { ControlReparaciones b = new ControlReparaciones(); Modelo.Venta venta = new Modelo.Venta(); venta.medio_de_pago = Convert.ToInt32(combo_medio_de_pago.SelectedValue); venta.tipo_factura = Convert.ToString(combo_comprobante.SelectedValue); ControlVenta facturar = new ControlVenta(); Modelo.Reparacion reparacion = new Modelo.Reparacion(); reparacion.tipo_factura = combo_comprobante.SelectedValue.ToString(); reparacion.vencimiento = llenarVencimiento(); reparacion.medio_de_pago = Convert.ToInt32(combo_medio_de_pago.SelectedValue); if (txt_remito.Text.Trim() != "" || !string.IsNullOrEmpty(txt_remito.Text)) { reparacion.remito = long.Parse(txt_remito.Text); } if (txt_ordenDeCompra.Text.Trim() != "" || !string.IsNullOrEmpty(txt_ordenDeCompra.Text)) { reparacion.ordenDeCompra = txt_ordenDeCompra.Text; } reparacion.cobrada = llenarCobrada(); try { Cursor.Current = Cursors.WaitCursor; reparacion.documento = cliente.Documento; if (ControlReparaciones.FinalizarReparacion(id_reparacion, reparacion) == 1) { venta.remito = 0; venta.ordendeCompra = "0"; if (txt_remito.Text.Trim() != "" || !string.IsNullOrEmpty(txt_remito.Text)) { venta.remito = long.Parse(txt_remito.Text); } if (txt_ordenDeCompra.Text.Trim() != "" || !string.IsNullOrEmpty(txt_ordenDeCompra.Text)) { venta.ordendeCompra = txt_ordenDeCompra.Text; } id_comprobante = facturar.FacturarReparacion(venta, cliente, dgv_tabla); var task = Task.Factory.StartNew(() => b.ActualizarFacturaYUrl(id_comprobante, id_reparacion)); MessageBox.Show("Se realizó la venta correctamente, en unos instantes podrá acceder a la factura desde Listar Reparaciones."); a.Close(); this.Close(); } } catch (Exception ex) { Console.WriteLine(ex); } finally { Cursor.Current = Cursors.Default; a.Close(); this.Close(); } }