public static ArrayList getFacturas(Int64 id_venta) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //creo la lista para almacenar las personas ArrayList listafacturas = new ArrayList(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("select factura_numero, id_factura from factura where id_venta = @id_venta order by factura_numero"); cmd.Parameters.Add(new SqlParameter("@id_venta", id_venta)); //asigno la conexion al comando cmd.Connection = cnn; //creo el datareader SqlDataReader obdr = cmd.ExecuteReader(); //recorro el datareader while (obdr.Read()) { //Creo los objetos persona y los agrego a la lista Factura f = new Factura(obdr.GetString(0), obdr.GetInt64(1), id_venta); listafacturas.Add(f); } //Cierro la conexion cnn.Close(); //retorno la lsita return listafacturas; }
public static void NuevaFacura(Factura f) { //creo la conexion SqlConnection cnn = new SqlConnection(conexion); //abro la conexion cnn.Open(); //Creo el comando sql a utlizar SqlCommand cmd = new SqlCommand("insert into factura(id_venta, factura_numero) Values (@id_venta, @factura_numero)"); cmd.Parameters.Add(new SqlParameter("@id_venta", f.Id_venta)); cmd.Parameters.Add(new SqlParameter("@factura_numero", f.Factura_numero)); //asigno la conexion al comando cmd.Connection = cnn; cmd.ExecuteNonQuery(); cnn.Close(); }
private void btn_imprimir_Click(object sender, EventArgs e) { cantidad_facturas_existentes = 0; conteo = 0; bool imprime = true; if (v.Impreso == 0) { DialogResult dr = MessageBox.Show(this, "A continuacion se imprimirá una nueva factura, ¿Desea continuar?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { factura_numero_conteo = factura.Factura_numero_dato; int conteos; for (conteos = listacarrito.Count; conteos > 0; ) { conteos = conteos - factura.Items_max; cant_facturas = cant_facturas + 1; } for (int y = 0; y < cant_facturas; y++) { Factura fa = new Factura(factura.Factura_Prefijo_dato + (factura.Factura_numero_dato + y).ToString(), 0, v.Id_venta); Datos_Factura.NuevaFacura(fa); } v.Factura_numero = " " ; v.Venta_numero = factura.Venta_Prefijo_dato + factura.Venta_numero_dato; DatosVenta.ModificarVenta(this.v); Clases.Configuracion_factura factura_guardar = new Clases.Configuracion_factura(); factura_guardar = factura; factura_guardar.Factura_numero_dato = factura.Factura_numero_dato + cant_facturas; factura_guardar.Venta_numero_dato = factura.Venta_numero_dato + 1; Conex.Modificar_Factura(factura_guardar); cbox_factura_num.Text = v.Factura_numero; txt_venta_num.Text = v.Venta_numero; v.Impreso = 1; imprime = true; es_nuevo = true; } if (dr == DialogResult.No) { imprime = false; } btn_imprimir.Enabled = false; } else { cbox_factura_num.SelectedIndex = 0; if (cbox_factura_num.Items.Count == 2) { mensaje = cbox_factura_num.Text + " y su siguiente "; cbox_factura_num.SelectedIndex = 1; mensaje = mensaje + cbox_factura_num.Text ; } else if (cbox_factura_num.Items.Count > 2) { mensaje = cbox_factura_num.Text + " y su siguientes " + (cbox_factura_num.Items.Count - 1).ToString() + " numeraciones"; } else { mensaje = cbox_factura_num.Text + " "; } DialogResult dr = MessageBox.Show(this,"Se imprimirá en la factura Nº: "+ mensaje +", ¿desea continuar?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { imprime = false; } es_nuevo = false; int conteos; for (conteos = listacarrito.Count; conteos > 0; ) { conteos = conteos - factura.Items_max; cant_facturas = cant_facturas + 1; } } if (imprime == true) { PrintAString(0); } }
public void guardar_imprimir(bool imprime) { //verifico si hay items en el carrito if (listacarrito.Count > 0) { this.Cursor = Cursors.WaitCursor; int conteo; for (conteo = listacarrito.Count; conteo > 0; ) { conteo = conteo - factura.Items_max; cant_facturas = cant_facturas + 1; } factura_numero_conteo = factura.Factura_numero_dato; // verifico si el cliente es nuevo if (cbox_cliente.SelectedItem == null) { if (txt_rut.Text == "") { txt_rut.Text = " "; } id_pais = DatosPais.obtener_id_pais_maximo(); Cliente c = new Cliente(0, cbox_cliente.Text, txt_n_documento.Text, " ", " ", " ", " ", id_pais, txt_rut.Text, Convert.ToDateTime("1/1/2000")); DatosCliente.NuevoCliente(c); id_cliente = DatosCliente.obtener_id_cliente_maximo(); } //verifico si hay un cliente seleccionado en el cbox_cliente else { id_cliente = ((Cliente)cbox_cliente.SelectedItem).Id_cliente; } int impre = 0; //creo una nueva venta en la bdd Int64 id_venta; if (imprime == true) { impre = 1; } else { txt_factura_num.Text = " "; txt_venta_num.Text = " "; } if (txt_observaciones.Text == "") { txt_observaciones.Text = " "; } Venta v = new Venta(0, id_cliente, DateTime.Now, Convert.ToDecimal(txt_total_pesos.Text), impre, txt_venta_num.Text, " ", tipo, "Pago", 1, 1, 1, 1, 0, 0, 0, 0, descuento_monto, Convert.ToDecimal(Principal.iva), txt_observaciones.Text,Convert.ToDecimal(txt_enPesos.Text)); DatosVenta.NuevaVenta(v); // obtengo el id max de venta try { id_venta = DatosVenta.obtener_id_venta(); } catch { id_venta = 0; } //agrego items a Venta_producto en la bdd for (int i = 0; i < listacarrito.Count; i++) { Venta_Producto vp = new Venta_Producto(0, id_venta, ((Producto)listacarrito[i]).Id_producto, ((Producto)listacarrito[i]).Total, ((Producto)listacarrito[i]).Stock); DatosVenta_Producto.NuevaVentaProducto(vp); for (Int32 h = 0; h < listaInicial.Count; h++) { if (((Producto)listacarrito[i]).Id_producto == ((Producto)listainicial2[h]).Id_producto) { DatosProducto.CambiarStock(((Producto)listacarrito[i]).Id_producto, ((Producto)listainicial2[h]).Stock - ((Producto)listacarrito[i]).Stock); } } } if (imprime == true) { for (int y = 0; y < cant_facturas; y++) { Factura fa = new Factura(factura.Factura_Prefijo_dato + (factura.Factura_numero_dato + y).ToString(), 0, id_venta); Datos_Factura.NuevaFacura(fa); } Clases.Configuracion_factura factura_guardar = new Clases.Configuracion_factura(); factura_guardar = factura; factura_guardar.Factura_numero_dato = factura.Factura_numero_dato + cant_facturas; factura_guardar.Venta_numero_dato = factura.Venta_numero_dato + 1; Conex.Modificar_Factura(factura_guardar); try { PrintAString(0); } catch { MessageBox.Show(this, "Error al imprimir factura", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } tipo = null; detalle = null; Font printFont = null; string printString = null; clientes = null; listaVacia = null; listaInicial = null; listacarrito = null; listainicial2 = null; factura = null; Principal.cerrar_ventana_generar_venta = false; this.Close(); } else { MessageBox.Show(this, "No hay items en el carrito", "¡Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); txt_codigo2.Focus(); } }
private void btn_imprimir_Click(object sender, EventArgs e) { DialogResult dr = MessageBox.Show(this, "A continuacion se imprimirá los productos no impresos en facturas, ¿Desea continuar?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { this.Cursor = Cursors.WaitCursor; Cliente cli = new Cliente(); cli = DatosCliente.getCliente(42); nombre_del_cliente = cli.Nombre; int conteo; for (conteo = listaimprimir.Count; conteo > 0; ) { conteo = conteo - factura.Items_max; cant_facturas = cant_facturas + 1; } factura_numero_conteo = factura.Factura_numero_dato; for (int y = 0; y < lista.Count; y++) { DatosVenta.setBajaVenta(((Venta)lista[y]).Id_venta); DatosVenta_Producto.setBajaVenta_producto(((Venta)lista[y]).Id_venta); } Venta v = new Venta(0, 42, DateTime.Now, Convert.ToDecimal(txt_pesos.Text), 1, factura.Venta_Prefijo_dato + factura.Venta_numero_dato.ToString(), " ", "Contado", "Pago", 1, 1, 1, 1, 0, 0, 0, 0, 0, Principal.iva, " ",0); DatosVenta.NuevaVenta(v); Int64 id_venta = DatosVenta.obtener_id_venta(); for (int y = 0; y < cant_facturas; y++) { Factura fa = new Factura(factura.Factura_Prefijo_dato + (factura.Factura_numero_dato + y).ToString(), 0, id_venta); Datos_Factura.NuevaFacura(fa); } Clases.Configuracion_factura factura_guardar = new Clases.Configuracion_factura(); factura_guardar = factura; factura_guardar.Factura_numero_dato = factura.Factura_numero_dato + cant_facturas; factura_guardar.Venta_numero_dato = factura.Venta_numero_dato + 1; Conex.Modificar_Factura(factura_guardar); for (int x = 0; x < listaimprimir.Count; x++) { Venta_Producto vp = new Venta_Producto(0, id_venta, ((Venta_Producto)listaimprimir[x]).Id_producto, ((Venta_Producto)listaimprimir[x]).Precio, ((Venta_Producto)listaimprimir[x]).Cantidad); DatosVenta_Producto.NuevaVentaProducto(vp); } try { PrintAString(0); } catch { MessageBox.Show(this, "Error al imprimir", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } Principal.cerrar_venta_no_impresa = false; this.Cursor = Cursors.Default; this.Close(); } }