Punto copiar todoo

This commit is contained in:
Michael Robles
2024-01-14 22:47:14 -07:00
parent c224b1f121
commit 9ca07cb52c
11 changed files with 201 additions and 123 deletions
+82 -23
View File
@@ -6,6 +6,7 @@ using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Printing;
using System.Globalization;
using System.IO;
using System.Linq;
@@ -53,16 +54,16 @@ namespace compabetov2
carta.Width = 220;
carta.Height = 300;
PictureBox pic = new PictureBox();
pic.Dock = DockStyle.Fill;
pic.SizeMode = PictureBoxSizeMode.Zoom;
string rutaImg = Path.Combine(Application.StartupPath, "Resources", producto.img);
pic.Image = Image.FromFile(rutaImg);//hay error aquí
pic.BackgroundImageLayout = ImageLayout.Stretch;
pic.Tag = producto.idProducto;
PictureBox pic = new PictureBox();
pic.Dock = DockStyle.Fill;
pic.SizeMode = PictureBoxSizeMode.Zoom;
string rutaImg = Path.Combine(Application.StartupPath, "Resources", producto.img);
pic.Image = Image.FromFile(rutaImg);//hay error aquí
pic.BackgroundImageLayout = ImageLayout.Stretch;
pic.Tag = producto.idProducto;
@@ -111,7 +112,7 @@ namespace compabetov2
btnMenos.BackColor = Color.FromArgb(33, 90, 255);
btnMenos.Click += new EventHandler(delegate (object sender, EventArgs e)
{
int numeroContador = int.Parse(contador.Text.ToString());
// Validar que el contador no sea 0 antes de restar
@@ -187,12 +188,6 @@ namespace compabetov2
}
}
private void RestarDelTicket(int idProducto, string nombreProducto, decimal precio, int cantidad)
@@ -248,9 +243,9 @@ namespace compabetov2
{
bool existeProducto = false;
int contador_saltar_2_vueltas = 1;
foreach(var item in flowLayoutPanel2.Controls)
foreach (var item in flowLayoutPanel2.Controls)
{
if(contador_saltar_2_vueltas <= 3)
if (contador_saltar_2_vueltas <= 3)
{
contador_saltar_2_vueltas++;
continue;
@@ -261,17 +256,17 @@ namespace compabetov2
string textoLb = lbnombre.Text;
string[] cadenas = textoLb.Split(':');
string cadena = cadenas[1].Remove(0, 1);
if (cadena.Equals(nombreProducto))
{
existeProducto=true;
existeProducto = true;
Label Lbcantidad = panelInfo.Controls[2] as Label;
Label Lbtotal = panelInfo.Controls[3] as Label;
string textcantidad = Lbcantidad.Text;
string[] cantidadCadenas = textcantidad.Split(' ');
int NuevaCantiad = int.Parse(cantidadCadenas[1]) + 1;
int NuevoTotal = (int)(NuevaCantiad * precio);
Lbcantidad.Text = $"Cantidad: {NuevaCantiad}";
@@ -392,7 +387,71 @@ namespace compabetov2
{
}
private void bntImprimir_Click(object sender, EventArgs e)
{
ImprimirTicket();
}
private void ImprimirTicket()
{
using (PrintDocument documentoImpresion = new PrintDocument())
{
documentoImpresion.PrintPage += (sender, e) => ImprimirContenido(e);
using (PrintDialog printDialog = new PrintDialog())
{
printDialog.Document = documentoImpresion;
if (printDialog.ShowDialog() == DialogResult.OK)
{
documentoImpresion.Print();
}
}
}
}
private void ImprimirContenido(PrintPageEventArgs e)
{
// Contenido que deseas imprimir
string contenido = "Mini Súper\n" +
"Compa BETO\n" +
"Saturnino Peña #44\n" +
"Lomas de la Laguna\n" +
"311 169 2829\n" +
$"Fecha: {DateTime.Now.ToString("dd/MM/yyyy")}\n" +
$"Hora: {DateTime.Now.ToString("HH:mm:ss")}\n\n" +
"Producto Precio Cantidad\n" +
"---------------------\n";
// Agregar detalles de productos al contenido
foreach (TableLayoutPanel carta in cartas)
{
PictureBox pic = carta.Controls[0] as PictureBox;
Label precio = pic.Controls[1] as Label;
contenido += $"{precio.Text}\n";
}
contenido += $"---------------------\n" +
$"Total: ${total}\n" +
"---------------------\n" +
"Mini Súper\n" +
"Compa BETO\n" +
"¡Gracias por su compra!";
// Configuración de la fuente y del área de impresión
Font fuente = new Font("Arial", 10); // Ajustar el tamaño de fuente según sea necesario
PointF posicion = new PointF(0, e.MarginBounds.Top);
// Imprimir el contenido
e.Graphics.DrawString(contenido, fuente, Brushes.Black, posicion);
}
}
}