private void nuevaVenta() { ingreseNombreCliente cliente = new ingreseNombreCliente(); cliente.ShowDialog(); DataSet1TableAdapters.SP_tabla_ventaTableAdapter vta = new Bar.DataSet1TableAdapters.SP_tabla_ventaTableAdapter(); DataTable dtventa = vta.GetData("I", null, DateTime.Now, mesa.IdMesa, true, idUsuario, cliente.response); idVenta = (int)dtventa.Rows[0]["idVenta"]; cargarVenta(idVenta); //dataGridView1.Rows.Clear(); //txt_total.Text = "0"; //lproductos.Clear(); //DataSet1TableAdapters.QueriesTableAdapter qta = new Bar.DataSet1TableAdapters.QueriesTableAdapter(); //total = 0; //pagot = 0; //precio = 0; //preciomay = 0; //lblMesa.Text = qta.obtenerTurno(DateTime.Now).ToString(); }
private void ImprimirTicket(int idVenta, decimal?pago, decimal?cambio) { try { DataSet1TableAdapters.QueriesTableAdapter qta = new Bar.DataSet1TableAdapters.QueriesTableAdapter(); DataSet1TableAdapters.SP_tabla_ventaTableAdapter tvta = new Bar.DataSet1TableAdapters.SP_tabla_ventaTableAdapter(); DataSet1TableAdapters.SP_tabla_ventaDetalleTableAdapter tvdta = new Bar.DataSet1TableAdapters.SP_tabla_ventaDetalleTableAdapter(); string impresora = qta.obtenerParametro("nombreImpresora"); string nombreEmpresa = qta.obtenerParametro("nombreEmpresa"); string sucursal = qta.obtenerParametro("sucursal"); string telefono = qta.obtenerParametro("telefono"); string leyenda = qta.obtenerParametro("leyenda"); string nombreUsuario = qta.obtenerNombreUsuario(idUsuario); string turno = lblMesa.Text; DataTable venta = tvta.GetData("F", idVenta, null, null, null, null, ""); DataTable ventaDetalle = tvdta.GetData("F", null, null, null, null, idVenta); //crea la estructura del ticket Ticket tick = new Ticket(); if (!(tick.PrinterExists(impresora))) { MessageBox.Show("La impresora no esta conectada", "Error"); return; } tick.AddHeaderLine(nombreEmpresa); tick.AddHeaderLine(sucursal); tick.AddHeaderLine("Tel: " + telefono); tick.AddHeaderLine("Fecha: " + venta.Rows[0]["fechaHora"].ToString()); tick.AddHeaderLine("Vendedor: " + qta.obtenerNombreUsuario(int.Parse(venta.Rows[0]["idUsuarioVenta"].ToString())).ToString()); tick.AddHeaderLine("-----Cliente: " + turno + "----"); tick.AddHeaderLine("-------------------------"); tick.AddHeaderLine("Cantidad Producto "); tick.AddHeaderLine(" Precio Subtotal"); tick.AddHeaderLine("-------------------------"); foreach (DataGridViewRow row in dataGridView1.Rows) { //hacer que el producto no se imprima completo ya que solo son 25 caracteres por linea // vamos a dejar 20 para el nombre y 5 para a cantidad //por ahora lo hace con el grid que ya esta dibujado decimal subtotal = decimal.Parse(row.Cells[2].Value.ToString()) * decimal.Parse(row.Cells[3].Value.ToString()); string linea1 = row.Cells[2].Value.ToString() + " " + row.Cells[1].Value.ToString(); string linea2 = " " + row.Cells[3].Value.ToString() + " " + subtotal.ToString(); tick.AddHeaderLine(linea1); tick.AddHeaderLine(linea2); } tick.AddHeaderLine("-------------------------"); tick.AddHeaderLine("TOTAL: " + total); tick.AddHeaderLine("SU PAGO: " + pagot); tick.AddHeaderLine("SU CAMBIO: " + cambio); NumLetra numletra = new NumLetra(); tick.AddFooterLine(numletra.Convertir(total.ToString(), false)); tick.AddFooterLine(leyenda); tick.PrintTicket(impresora); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }