private void PuntoVenta_KeyUp(object sender, KeyEventArgs e) { if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Control) + Convert.ToInt32(Keys.D)) { if (listView1.SelectedItems.Count > 0) { ListViewItem item = listView1.SelectedItems[0]; int resultado = Venta.Quitar_Producto_Venta_Proceso(Convert.ToInt64(listView1.SelectedItems[0].Text)); if (resultado > 0) { MessageBox.Show("Producto Eliminado Correctamente", "Producto Eliminado", MessageBoxButtons.OK, MessageBoxIcon.Information); double resra = Convert.ToDouble(txtTotal.Text); resra = resra - Convert.ToDouble(item.SubItems[6].Text); txtTotal.Text = resra.ToString(); listView1.Items.Clear(); //Cargar productos de tabla de venta temporal MySqlConnection conexion2 = Conexion.MiConexion(); MySqlDataAdapter Consulta = new MySqlDataAdapter("Select * from Venta_Proceso", conexion2); DataTable dt = new DataTable(); Consulta.Fill(dt); for (int i = 0; i < dt.Rows.Count; i++) { ListViewItem List; List = listView1.Items.Add(dt.Rows[i][0].ToString()); List.SubItems.Add(dt.Rows[i][1].ToString()); List.SubItems.Add(dt.Rows[i][2].ToString()); List.SubItems.Add(dt.Rows[i][3].ToString()); List.SubItems.Add(dt.Rows[i][4].ToString()); List.SubItems.Add(dt.Rows[i][5].ToString()); List.SubItems.Add(dt.Rows[i][6].ToString()); } txtProducto.Focus(); } else { MessageBox.Show("No se pudo Eliminar el Producto", "Ocurrio un error!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show("Error al retirar el producto, verifique que haya seleccionado un producto"); } } if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Add)) { if (txtPagoCon.Text.Length == 0) { MessageBox.Show("Error en campo pagon con", "Campo Obligatorio, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPagoCon.Focus(); return; } else if (Convert.ToDouble(txtPagoCon.Text) < Convert.ToDouble(txtTotal.Text)) { MessageBox.Show("El campo de pago con debe ser mayor o igual al total", "Error en campo pago con, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPagoCon.Focus(); return; } //guardar venta Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Cliente = txtCliente.Text; Pro_Venta.Total = Convert.ToDouble(txtTotal.Text); Pro_Venta.PagoCon = Convert.ToDouble(txtPagoCon.Text); //sacar cambio double total = double.Parse(txtPagoCon.Text) - double.Parse(txtTotal.Text); txtCambio.Text = total.ToString(); Pro_Venta.Cambio = Convert.ToDouble(txtCambio.Text); int resultado = Venta.AgregarVenta(Pro_Venta); if (resultado > 0) { //MessageBox.Show("Datos Guardados Correctamente", "Datos Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information); //limpiar(); } else { MessageBox.Show("No se pudieron Guardar lo datos", "Error al Guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //guardar detalle de las ventas for (int i = 0; i < listView1.Items.Count; i++) { Pro_Venta.Codigo = Convert.ToInt64(listView1.Items[i].SubItems[0].Text); Pro_Venta.Cantidad = Convert.ToDouble(listView1.Items[i].SubItems[5].Text); Pro_Venta.Precio = Convert.ToDouble(listView1.Items[i].SubItems[4].Text); Venta.AgregarDetalleVenta(Pro_Venta); } if (checkBox1.Checked) { //generar ticket Ticket ticket = new Ticket(); //ticket.HeaderImage = "C:\imagen.jpg"; //esta propiedad no es obligatoria ticket.AddHeaderLine("Ferreteria y Materiales"); ticket.AddHeaderLine("Del Rio"); ticket.AddHeaderLine("Villa Toledo #2719"); ticket.AddHeaderLine("Culiacan, Sin"); ticket.AddHeaderLine("RFC: VILA-841113-3R4"); //ticket.AddSubHeaderLine("Ticket # 1"); ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); for (int i = 0; i < listView1.Items.Count; i++) { //ticket.AddItem(FormPadre.listView1.Items[4].Text, FormPadre.listView1.Items[1].Text, FormPadre.listView1.Items[5].Text); ticket.AddItem(listView1.Items[i].SubItems[5].Text, listView1.Items[i].SubItems[1].Text, listView1.Items[i].SubItems[6].Text); } //ticket.AddTotal("SubTotal", txtSubTotal.Text); //ticket.AddTotal("IVA", txtIVA.Text); //Add total utiliza dos variables para poder funcionar ticket.AddTotal("Total", txtTotal.Text); //Ponemos un total en blanco que sirve de espacio ticket.AddTotal("Pago Con", txtPagoCon.Text); ticket.AddTotal("Cambio", txtCambio.Text); //ticket.AddHeaderLine("Le atendio", tssUsuarioVenta.Text); ticket.AddFooterLine("GRACIAS POR TU VISITA"); //ticket.PrintTicket("Printer"); ticket.PrintTicket("EPSON TM-U220 Receipt"); } } }
private void btnAgregarPago_Click(object sender, EventArgs e) { if (txtPagoCon.Text.Length == 0) { MessageBox.Show("Error en campo pagon con", "Campo Obligatorio, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPagoCon.Focus(); return; } else if (Convert.ToDouble(txtPagoCon.Text) < Convert.ToDouble(txtTotal.Text)) { MessageBox.Show("El campo de pago con debe ser mayor o igual al total", "Error en campo pago con, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPagoCon.Focus(); return; } //guardar venta Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Cliente = txtCliente.Text; Pro_Venta.Total = Convert.ToDouble(txtTotal.Text); Pro_Venta.PagoCon = Convert.ToDouble(txtPagoCon.Text); //sacar cambio double total = double.Parse(txtPagoCon.Text) - double.Parse(txtTotal.Text); txtCambio.Text = total.ToString(); Pro_Venta.Cambio = Convert.ToDouble(txtCambio.Text); int resultado = Venta.AgregarVenta(Pro_Venta); if (resultado > 0) { //MessageBox.Show("Datos Guardados Correctamente", "Datos Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information); //limpiar(); } else { MessageBox.Show("No se pudieron Guardar lo datos", "Error al Guardar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } //guardar detalle de las ventas for (int i = 0; i < listView1.Items.Count; i++) { Pro_Venta.Codigo = Convert.ToInt64(listView1.Items[i].SubItems[0].Text); Pro_Venta.Cantidad = Convert.ToDouble(listView1.Items[i].SubItems[5].Text); Pro_Venta.Precio = Convert.ToDouble(listView1.Items[i].SubItems[4].Text); Venta.AgregarDetalleVenta(Pro_Venta); //Modificar Stock MySqlConnection conexion = Conexion.MiConexion(); string ada = "Select Stock from Productos where Codigo='" + listView1.Items[i].SubItems[0].Text + "';"; MySqlCommand comando = new MySqlCommand(ada, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { double cantidad = 0; Pro_Productos Pro_Productos = new Pro_Productos(); double stock = Convert.ToDouble(leer["Stock"].ToString()); cantidad = Convert.ToDouble(listView1.Items[i].SubItems[5].Text); double stock_control = double.Parse(stock.ToString()) - cantidad; Pro_Productos.Codigo = Convert.ToInt64(listView1.Items[i].SubItems[0].Text); Pro_Productos.Stock = Convert.ToDouble(stock_control); Met_Productos.Modificar_Stock(Pro_Productos); } } if (checkBox1.Checked) { //generar ticket Ticket ticket = new Ticket(); //ticket.HeaderImage = "C:\imagen.jpg"; //esta propiedad no es obligatoria ticket.AddHeaderLine("Ferreteria y Materiales"); ticket.AddHeaderLine("Del Rio"); ticket.AddHeaderLine("Villa Toledo #2719"); ticket.AddHeaderLine("Culiacan, Sin"); ticket.AddHeaderLine("RFC: VILA-841113-3R4"); //ticket.AddSubHeaderLine("Ticket # 1"); ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()); for (int i = 0; i < listView1.Items.Count; i++) { //ticket.AddItem(FormPadre.listView1.Items[4].Text, FormPadre.listView1.Items[1].Text, FormPadre.listView1.Items[5].Text); ticket.AddItem(listView1.Items[i].SubItems[5].Text, listView1.Items[i].SubItems[1].Text, listView1.Items[i].SubItems[6].Text); } //ticket.AddTotal("SubTotal", txtSubTotal.Text); //ticket.AddTotal("IVA", txtIVA.Text); //Add total utiliza dos variables para poder funcionar ticket.AddTotal("Total", txtTotal.Text); //Ponemos un total en blanco que sirve de espacio ticket.AddTotal("Pago Con", txtPagoCon.Text); ticket.AddTotal("Cambio", txtCambio.Text); //ticket.AddHeaderLine("Le atendio", tssUsuarioVenta.Text); ticket.AddFooterLine("GRACIAS POR TU VISITA"); //ticket.PrintTicket("Printer"); ticket.PrintTicket("EPSON TM-U220 Receipt"); } }