Descargo Cambios de CARLOS0102243

This commit is contained in:
Michael Robles
2024-02-01 22:51:12 -07:00
4 changed files with 145 additions and 36 deletions
+63 -22
View File
@@ -22,10 +22,7 @@ namespace compabetov2
{
private bool masBtnPresionado = false;
private bool menosBtnPresionado = false;
private List<Producto> productos;
private List<TableLayoutPanel> cartas = new List<TableLayoutPanel>();
private decimal total = 0;
private LoginModel loginPrincipal;
@@ -120,7 +117,8 @@ namespace compabetov2
int numeroContador = int.Parse(contador.Text.ToString());
// Validar que el contador no sea 0 antes de restar
if (numeroContador > 0)
if (existeTocket(producto.nombre))
{
contador.Text = (numeroContador - 1).ToString();
total -= producto.precion;
@@ -135,7 +133,6 @@ namespace compabetov2
}
else
{
// Mostrar mensaje de advertencia
MessageBox.Show("No puedes vender menos de 0 cosas", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
});
@@ -155,6 +152,9 @@ namespace compabetov2
btnMas.FlatAppearance.BorderSize = 0;
btnMas.Click += new EventHandler(delegate (object sender, EventArgs e)
{
if(int.Parse(contador.Text.ToString()) < 0 && !existeTocket(producto.nombre)) {
contador.Text = "0";
}
int numeroContador = int.Parse(contador.Text.ToString());
contador.Text = (numeroContador + 1).ToString();
total += producto.precion;
@@ -173,10 +173,7 @@ namespace compabetov2
carta.Controls.Add(pic, 0, 0);
carta.Controls.Add(HUD, 0, 1);
cartas.Add(carta);
flowLayoutPanel3.Controls.Add(carta);
}
}
@@ -185,6 +182,7 @@ namespace compabetov2
{
foreach (var item in flowLayoutPanel2.Controls)
{
TableLayoutPanel panelProducto = item as TableLayoutPanel;
if (panelProducto != null && panelProducto.Controls.Count > 1)
{
@@ -207,20 +205,28 @@ namespace compabetov2
{
string textcantidad = Lbcantidad.Text;
string[] cantidadCadenas = textcantidad.Split(' ');
int NuevaCantiad = int.Parse(cantidadCadenas[1]) - cantidad;
int NuevoTotal = (int)(NuevaCantiad * precio);
// Actualizar el ticket existente
Lbcantidad.Text = $"Cantidad: {NuevaCantiad}";
Lbtotal.Text = $"Total: ${NuevoTotal}";
// Si la cantidad llega a 0, eliminar el ticket del flowLayoutPanel2
if (NuevaCantiad == 0)
if(int.Parse(cantidadCadenas[1]) > 0)
{
flowLayoutPanel2.Controls.Remove(panelProducto);
int NuevaCantiad = int.Parse(cantidadCadenas[1]) - cantidad;
int NuevoTotal = (int)(NuevaCantiad * precio);
// Actualizar el ticket existente
Lbcantidad.Text = $"Cantidad: {NuevaCantiad}";
Lbtotal.Text = $"Total: ${NuevoTotal}";
// Si la cantidad llega a 0, eliminar el ticket del flowLayoutPanel2
if (NuevaCantiad == 0)
{
flowLayoutPanel2.Controls.Remove(panelProducto);
}
break;
}
else
{
// Mostrar mensaje de advertencia
MessageBox.Show("No puedes vender menos de 0 cosas", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
break;
}
}
}
@@ -229,6 +235,31 @@ namespace compabetov2
}
}
private bool existeTocket(string nombreProducto)
{
int contador_saltar_2_vueltas = 1;
foreach (var item in flowLayoutPanel2.Controls)
{
if (contador_saltar_2_vueltas <= 3)
{
contador_saltar_2_vueltas++;
continue;
}
TableLayoutPanel panelProducto = item as TableLayoutPanel;
TableLayoutPanel panelInfo = panelProducto.Controls[1] as TableLayoutPanel;
Label lbnombre = panelInfo.Controls[0] as Label;
string textoLb = lbnombre.Text;
string[] cadenas = textoLb.Split(':');
string cadena = cadenas[1].Remove(0, 1);
if (cadena.Equals(nombreProducto))
{
return true;
}
}
return false;
}
private void GenerarTicket(int idProducto, string nombreProducto, decimal precio, int cantidad, decimal total, string rutaImg)
{
@@ -432,6 +463,7 @@ namespace compabetov2
MessageBox.Show("Venta hecha");
eliminarProductosTocket();
llenarLayout();
}
}
else
@@ -677,8 +709,16 @@ namespace compabetov2
private void txtbusqueda_TextChanged(object sender, EventArgs e)
{
if (!txtbusqueda.Text.Equals(""))
{
productos = service.conseguirProductosFiltrados(txtbusqueda.Text);
llenarLayout();
}
else
{
getData();
llenarLayout();
}
}
private List<DetalleEnvioModel> listaProductosEnvio()
@@ -749,6 +789,7 @@ namespace compabetov2
flowLayoutPanel1.Controls.Remove(c);
}
label1.Text = "Total: 0";
txtbusqueda.Text = "";
}
}
}