public List <MVentas> GetAll() { List <MVentas> lista = new List <MVentas>(); try { MySqlCommand sentencia = new MySqlCommand(); sentencia.CommandText = "SELECT * FROM ventas;"; DataTable tabla = Conexion.ejecutarConsulta(sentencia); MVentas ven = new MVentas(); foreach (DataRow fila in tabla.Rows) { ven = new MVentas(); ven.id = fila["idVentas"].ToString(); ven.fecha = fila["fecha"].ToString(); ven.total = Double.Parse(fila["total"].ToString()); ven.descripccion = fila["descripcion"].ToString(); lista.Add(ven); } return(lista); } catch (Exception) { return(lista); } finally { Conexion.desconectar(); } }
public MVentas Getbyid(String id) { MVentas ven = new MVentas(); try { MySqlCommand sentencia = new MySqlCommand(); sentencia.CommandText = "SELECT * FROM ventas where idVentas = " + id + ";"; DataTable tabla = Conexion.ejecutarConsulta(sentencia); foreach (DataRow fila in tabla.Rows) { ven.id = fila["idVentas"].ToString(); ven.fecha = fila["fecha"].ToString(); ven.total = Double.Parse(fila["total"].ToString()); ven.descripccion = fila["descripcion"].ToString(); } return(ven); } catch (Exception) { return(ven); } finally { Conexion.desconectar(); } }
public void CargaArticulos() { Lo_Resultado = new ObjResult(); Lo_MVentas = new MVentas(); Lo_Resultado = Lo_MVentas.ConsultaArticulos(); gvArticulos.DataSource = Lo_Resultado.Tabla; gvArticulos.DataBind(); }
public Boolean Agregar(MVentas obj) { try { MySqlCommand sentencia = new MySqlCommand(); sentencia.CommandText = "INSERT INTO ventas (fecha, total, Descripcion) " + "VALUES('" + obj.fecha + "'," + obj.total + ",'" + obj.descripccion + "');"; Conexion.ejecutarSentencia(sentencia, true); return(true); } catch (Exception ex) { return(false); } finally { Conexion.desconectar(); } }
public static long Insertar(MVentas objeto, facturacion.Vistas.VVentas form) { long id = -1; MySqlConnection SqlCon = new MySqlConnection(Conexion.Cn); try { SqlCon.Open(); string query001 = "INSERT INTO " + table + "(idCliente,idUsuario,fecVenta,montoTotal,montoLiteral,tipo,estado,numero) Values(@idCliente,@idUsuario,@fecVenta,@montoTotal,@montoLiteral,@tipo,@estado,@numero)"; MySqlCommand command = new MySqlCommand(query001, SqlCon); command.Parameters.AddWithValue("@idCliente", objeto.idCliente); command.Parameters.AddWithValue("@idUsuario", objeto.idUsuario); command.Parameters.AddWithValue("@fecVenta", objeto.fecVenta); command.Parameters.AddWithValue("@montoTotal", objeto.montoTotal); command.Parameters.AddWithValue("@montoLiteral", objeto.montoLiteral); command.Parameters.AddWithValue("@tipo", objeto.tipo); command.Parameters.AddWithValue("@estado", objeto.estado); command.Parameters.AddWithValue("@numero", objeto.numero); if (command.ExecuteNonQuery() == 1) { id = command.LastInsertedId; ToastNotification.Show(form, "venta Creada Correctamente", global::facturacion.Properties.Resources.ok, 3000, (eToastGlowColor.Green), (eToastPosition.TopRight)); SqlCon.Close(); return(id); } else { ToastNotification.Show(form, "La venta no pudo ser Creada", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); SqlCon.Close(); return(id); } } catch (MySqlException e) { ToastNotification.Show(form, e.Message, global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopLeft)); return(id); } }
public static bool Editar(int id, MVentas objeto, facturacion.Vistas.VListaVentas form) { MySqlConnection SqlCon = new MySqlConnection(Conexion.Cn); try { SqlCon.Open(); string query001 = "UPDATE " + table + " SET idCliente=@idCliente,idUsuario=@idUsuario,fecVenta=@fecVenta,montoTotal=@montoTotal,montoLiteral=@montoLiteral,tipo=@tipo,estado=@estado where id=@id;"; MySqlCommand command = new MySqlCommand(query001, SqlCon); command.Parameters.AddWithValue("@id", id); command.Parameters.AddWithValue("@idCliente", objeto.idCliente); command.Parameters.AddWithValue("@idUsuario", objeto.idUsuario); command.Parameters.AddWithValue("@fecVenta", objeto.fecVenta); command.Parameters.AddWithValue("@montoTotal", objeto.montoTotal); command.Parameters.AddWithValue("@montoLiteral", objeto.montoLiteral); command.Parameters.AddWithValue("@tipo", objeto.tipo); command.Parameters.AddWithValue("@estado", objeto.estado); if (command.ExecuteNonQuery() == 1) { ToastNotification.Show(form, "venta Editada Correctamente", global::facturacion.Properties.Resources.ok, 3000, (eToastGlowColor.Green), (eToastPosition.TopRight)); SqlCon.Close(); return(true); } else { ToastNotification.Show(form, "La venta no pudo ser Editado", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); SqlCon.Close(); return(false); } } catch (MySqlException e) { ToastNotification.Show(form, e.Message, global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopLeft)); return(false); } }
private void btn_facturar_Click(object sender, EventArgs e) { if (lista.Rows.Count == 0) { ToastNotification.Show(this, "Añade un producto antes de cobrar.", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); return; } if (MessageBox.Show("Esta Apunto de Facturar el monto de " + lb_total_importe.Text + ".", "COBRAR PEDIDO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { aux = CCliente.BuscarCI(cb_ci_nit.Text.ToString()); string ccodigo; if (aux.Rows.Count >= 1 && lista.Rows.Count > 0) { DataRow row_cliente = aux.Rows[0]; Numeracion num = new Numeracion(); MVentas venta = new MVentas(0, int.Parse(row_cliente["id"].ToString()), int.Parse(Datos.Rows[0]["id"].ToString()), DateTime.Now, Double.Parse(lb_total_importe.Text), num.Convertir(lb_total_importe.Text, true), "factura", "cancelado", numero_next); long id_now = CVenta.Insertar(venta, this); if (id_now != -1) { DataTable cla = CCodigo.ultimo(); DataTable fa = CFactura.ultimo(); int id_fac_last = 0; if (fa.Rows.Count != 0) { id_fac_last = int.Parse(fa.Rows[0]["id"].ToString()); } id_fac_last++; string clave = cla.Rows[0]["clave"].ToString(); Hashid.Hashid hashid = new Hashid.Hashid(); string[] f = lb_fecActual.Text.Split('/'); ccodigo = (String)hashid.calcular(cla.Rows[0]["autorizacion"].ToString(), id_fac_last.ToString(), cb_ci_nit.Text.ToString(), f[2] + f[1] + f[0], lb_total_importe.Text, clave); qr_image.Text = lb_nit.Text + "|" + id_fac_last.ToString() + "|" + cla.Rows[0]["autorizacion"].ToString() + "|" + lb_fecActual.Text + "|" + lb_total_importe.Text + "|" + lb_total_importe.Text + "|" + ccodigo + "|" + cb_ci_nit.Text.ToString() + "|0|0|0|0|"; string dir = "/img/qrs/" + ccodigo + ".jpg"; qr_image.Image.Save(@"" + Application.StartupPath + dir, ImageFormat.Jpeg); MFactura fact = new MFactura(0, (int)id_now, int.Parse(cla.Rows[0]["id"].ToString()), ccodigo, dir, id_fac_last.ToString(), DateTime.Now); if (!CFactura.Insertar(fact, this)) { MessageBox.Show("no se pudo crear al factura"); } foreach (DataGridViewRow r in lista.Rows) { string precio_total = r.Cells["total"].Value.ToString(); string cantidad = r.Cells["cantidad"].Value.ToString(); string unitario = r.Cells["precio"].Value.ToString(); string descripcion = r.Cells["descripcion"].Value.ToString(); int id = Convert.ToInt32(r.Cells["id"].Value); MDetalleVenta det = new MDetalleVenta(0, id, double.Parse(cantidad), (int)id_now, Double.Parse(precio_total), descripcion, Double.Parse(unitario)); CDetalleVenta.Insertar(det, this); } try { LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report3.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc"; rdlc.EnableExternalImages = true; DataTable factura = CFactura.MostrarID(id_now); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable codigo = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString())); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter[] parameters = new ReportParameter[16]; string path = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"]; string pathqr = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString(); parameters[15] = new ReportParameter("Path", @path, true); parameters[0] = new ReportParameter("PathQr", @pathqr, true); parameters[1] = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString()); parameters[2] = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString()); parameters[3] = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString()); parameters[4] = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString()); parameters[5] = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString()); parameters[6] = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString()); parameters[7] = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString()); parameters[8] = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString()); parameters[9] = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString()); parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString()); parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString()); parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString()); rdlc.SetParameters(parameters); Impresor imp = new Impresor(); imp.Imprime(rdlc); LocalReport rdlc2 = new LocalReport(); rdlc2.ReportPath = @"..\..\Vistas\Report1.rdlc"; rdlc2.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc"; rdlc2.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); ReportParameter fecha = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); ReportParameter numero = new ReportParameter("numero", numero_next.ToString()); rdlc2.SetParameters(new ReportParameter[] { nombre, fecha, numero }); imp.Imprime(rdlc2); limpiar(); } catch (Exception exp) { ToastNotification.Show(this, exp.Message, global::facturacion.Properties.Resources.Warning_sign, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); if (MessageBox.Show("Ha ocurrido un error al imprimir, Desea Volver a imprimir el pedido/factura??", "ERROR AL FACTURAR!!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report3.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc"; rdlc.EnableExternalImages = true; DataTable factura = CFactura.MostrarID(id_now); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable codigo = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString())); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter[] parameters = new ReportParameter[16]; string path = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"]; string pathqr = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString(); parameters[15] = new ReportParameter("Path", @path, true); parameters[0] = new ReportParameter("PathQr", @pathqr, true); parameters[1] = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString()); parameters[2] = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString()); parameters[3] = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString()); parameters[4] = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString()); parameters[5] = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString()); parameters[6] = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString()); parameters[7] = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString()); parameters[8] = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString()); parameters[9] = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString()); parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString()); parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString()); parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString()); rdlc.SetParameters(parameters); Impresor imp = new Impresor(); imp.Imprime(rdlc); LocalReport rdlc2 = new LocalReport(); rdlc2.ReportPath = @"..\..\Vistas\Report1.rdlc"; rdlc2.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc"; rdlc2.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); ReportParameter fecha = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); ReportParameter numero = new ReportParameter("numero", numero_next.ToString()); rdlc2.SetParameters(new ReportParameter[] { nombre, fecha, numero }); imp.Imprime(rdlc2); limpiar(); } limpiar(); } numero_next++; //retornar el reporte } } else { MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo."); btn_guardar.BackColor = System.Drawing.Color.Blue; btn_guardar.Enabled = true; tb_nombreAp.Text = ""; tb_nombreAp.Enabled = true; tb_nombreAp.Focus(); } } }
private void btn_cobrar_Click(object sender, EventArgs e) { if (lista.Rows.Count == 0) { ToastNotification.Show(this, "Añade un producto antes de cobrar.", global::facturacion.Properties.Resources.error, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); return; } if (MessageBox.Show("Esta Apunto de Cobrar el monto de " + lb_total_importe.Text + ".", "COBRAR PEDIDO", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { aux = CCliente.BuscarCI(cb_ci_nit.Text.ToString()); if (aux.Rows.Count >= 1 && lista.Rows.Count > 0) { DataRow row_cliente = aux.Rows[0]; Numeracion num = new Numeracion(); MVentas venta = new MVentas(0, int.Parse(row_cliente["id"].ToString()), int.Parse(Datos.Rows[0]["id"].ToString()), DateTime.Now, Double.Parse(lb_total_importe.Text), num.Convertir(lb_total_importe.Text, true), "pedido", "cancelado", numero_next); long id_now = CVenta.Insertar(venta, this); if (id_now != (-1)) { foreach (DataGridViewRow r in lista.Rows) { string precio_total = r.Cells["total"].Value.ToString(); string cantidad = r.Cells["cantidad"].Value.ToString(); string unitario = r.Cells["precio"].Value.ToString(); string descripcion = r.Cells["descripcion"].Value.ToString(); int id = Convert.ToInt32(r.Cells["id"].Value); MDetalleVenta det = new MDetalleVenta(0, id, double.Parse(cantidad), (int)id_now, Double.Parse(precio_total), descripcion, Double.Parse(unitario)); if (CDetalleVenta.Insertar(det, this)) { } } try { LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report1.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc"; DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); ReportParameter fecha = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); ReportParameter numero = new ReportParameter("numero", numero_next.ToString()); rdlc.SetParameters(new ReportParameter[] { nombre, fecha, numero }); Impresor imp = new Impresor(); imp.Imprime(rdlc); limpiar(); } catch (Exception exp) { ToastNotification.Show(this, exp.Message, global::facturacion.Properties.Resources.Warning_sign, 3000, (eToastGlowColor.Red), (eToastPosition.TopRight)); if (MessageBox.Show("Ha ocurrido un error al imprimir, Desea volver a imprimir el pedido??", "ERROR AL FACTURAR!!!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report1.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report1.rdlc"; DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); ReportParameter nombre = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); ReportParameter fecha = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); ReportParameter numero = new ReportParameter("numero", numero_next.ToString()); rdlc.SetParameters(new ReportParameter[] { nombre, fecha, numero }); Impresor imp = new Impresor(); imp.Imprime(rdlc); limpiar(); } } numero_next++; } } else { MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo."); btn_guardar.BackColor = System.Drawing.Color.Blue; btn_guardar.Enabled = true; tb_nombreAp.Text = ""; tb_nombreAp.Enabled = true; tb_nombreAp.Focus(); } } }
private void btn_facturar_Click(object sender, EventArgs e) { if (id_now != 0) { try { if (this.lista_ventas.CurrentRow.Cells["tipo"].Value.ToString() == "factura") { LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report3.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc"; rdlc.EnableExternalImages = true; DataTable factura = CFactura.MostrarID(id_now); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable codigo = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString())); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter[] parameters = new ReportParameter[16]; string path = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"]; string pathqr = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString(); parameters[15] = new ReportParameter("Path", @path, true); parameters[0] = new ReportParameter("PathQr", @pathqr, true); parameters[1] = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString()); parameters[2] = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString()); parameters[3] = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString()); parameters[4] = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString()); parameters[5] = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString()); parameters[6] = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString()); parameters[7] = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString()); parameters[8] = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString()); parameters[9] = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString()); parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString()); parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString()); parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString()); rdlc.SetParameters(parameters); Impresor imp = new Impresor(); imp.Imprime(rdlc); } else { if (MessageBox.Show("Esta Apunto de Facturar el monto de " + lb_importeTotal.Text + ".", "FACTURAR", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataTable aux = CCliente.Buscar("ci", lb_ciNit.Text.ToString()); string ccodigo; if (aux.Rows.Count == 1) { DataRow row_cliente = aux.Rows[0]; Numeracion num = new Numeracion(); MVentas venta = new MVentas(0, int.Parse(row_cliente["id"].ToString()), 1, DateTime.Now, Double.Parse(lb_importeTotal.Text), num.Convertir(lb_importeTotal.Text, true), "factura", "cancelado", 0); CVenta.Editar(int.Parse(id_now.ToString()), venta, this); DataTable cla = CCodigo.ultimo(); DataTable fa = CFactura.ultimo(); int id_fac_last = 0; if (fa.Rows.Count != 0) { id_fac_last = int.Parse(fa.Rows[0]["id"].ToString()); } id_fac_last++; string clave = cla.Rows[0]["clave"].ToString(); Hashid.Hashid hashid = new Hashid.Hashid(); string[] ff = lb_fecVenta.Text.Split(' '); string[] f = ff[0].Split('/'); ccodigo = (String)hashid.calcular(cla.Rows[0]["autorizacion"].ToString(), id_fac_last.ToString(), lb_ciNit.Text.ToString(), f[2] + f[1] + f[0], lb_importeTotal.Text, clave); qr_image = new Gma.QrCodeNet.Encoding.Windows.Forms.QrCodeImgControl(); qr_image.QuietZoneModule = Gma.QrCodeNet.Encoding.Windows.Render.QuietZoneModules.Two; qr_image.Size = new System.Drawing.Size(108, 95); qr_image.Text = lb_nit.Text + "|" + id_fac_last.ToString() + "|" + cla.Rows[0]["autorizacion"].ToString() + "|" + ff[0] + "|" + lb_importeTotal.Text + "|" + lb_importeTotal.Text + "|" + ccodigo + "|" + lb_ciNit.Text.ToString() + "|0|0|0|0|"; string dir = "/img/qrs/" + ccodigo + ".jpg"; qr_image.Image.Save(@"" + Application.StartupPath + dir, ImageFormat.Jpeg); MFactura fact = new MFactura(0, (int)id_now, int.Parse(cla.Rows[0]["id"].ToString()), ccodigo, dir, id_fac_last.ToString(), DateTime.Now); CFactura.Insertar(fact, this); Mostrar(tb_cliente.Text.ToString()); LocalReport rdlc = new LocalReport(); rdlc.ReportPath = @"..\..\Vistas\Report3.rdlc"; rdlc.ReportEmbeddedResource = "facturacion.Vistas.Report3.rdlc"; rdlc.EnableExternalImages = true; DataTable factura = CFactura.MostrarID(id_now); DataTable venta2 = CVenta.MostrarID(id_now); DataTable infomacion = CEmpresa.Mostrar(); DataTable codigo = CCodigo.ultimoID(int.Parse(factura.Rows[0]["idCodigo"].ToString())); DataTable cliente = CCliente.MostrarID(venta2.Rows[0]["idCliente"].ToString()); DataTable customer = CDetalleVenta.Mostrar((int)id_now); rdlc.DataSources.Add(new ReportDataSource("DataSet1", customer)); ReportParameter[] parameters = new ReportParameter[16]; string path = "file:\\" + Application.StartupPath + infomacion.Rows[0]["logo"]; string pathqr = "file:\\" + Application.StartupPath + factura.Rows[0]["QR"].ToString(); parameters[15] = new ReportParameter("Path", @path, true); parameters[0] = new ReportParameter("PathQr", @pathqr, true); parameters[1] = new ReportParameter("empresa", infomacion.Rows[0]["nombre"].ToString()); parameters[2] = new ReportParameter("propietario", infomacion.Rows[0]["nomPropietario"].ToString()); parameters[3] = new ReportParameter("direccion", infomacion.Rows[0]["direccion"].ToString()); parameters[4] = new ReportParameter("nit", infomacion.Rows[0]["nit"].ToString()); parameters[5] = new ReportParameter("nro", factura.Rows[0]["numFactura"].ToString()); parameters[6] = new ReportParameter("autorizacion", codigo.Rows[0]["autorizacion"].ToString()); parameters[7] = new ReportParameter("telefono", infomacion.Rows[0]["telefono"].ToString()); parameters[8] = new ReportParameter("literal", "Son: " + venta2.Rows[0]["montoLiteral"].ToString()); parameters[9] = new ReportParameter("nombre_cliente", cliente.Rows[0]["nombre"].ToString()); parameters[10] = new ReportParameter("ci", cliente.Rows[0]["ci"].ToString()); parameters[11] = new ReportParameter("fecha", venta2.Rows[0]["fecVenta"].ToString()); parameters[12] = new ReportParameter("total", venta2.Rows[0]["montoTotal"].ToString()); parameters[13] = new ReportParameter("codigo_control", factura.Rows[0]["codControl"].ToString()); parameters[14] = new ReportParameter("fecha_limite", codigo.Rows[0]["fecFinal"].ToString()); rdlc.SetParameters(parameters); Impresor imp = new Impresor(); imp.Imprime(rdlc); } else { MessageBox.Show("El CI/Nit no esta registrado.\n Registre el Nombre y guardelo."); } } } }catch (Exception err) { Mostrar(string.Empty); MessageBox.Show("Upp!, algo ha salido mal, por favor vuelva a seleccionar la venta e intentelo de nuevo"); } } else { MessageBox.Show("Seleccione una venta"); } }