public static List <Pro_Venta> BuscarProductos_Codigo_Venta(Int64 pCodigo) { Pro_Venta pProducto = new Pro_Venta(); //preciototal.Expression = "[Precio]*[Cantidad]"; List <Pro_Venta> Lista = new List <Pro_Venta>(); using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand comando = new MySqlCommand(string.Format( "Select Codigo, Nombre, Descripcion, TipoUnidad, Precio from Productos where Codigo={0}", pCodigo), conexion); MySqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { pProducto.Codigo = reader.GetInt64(0); pProducto.Nombre = reader.GetString(1); pProducto.Descripcion = reader.GetString(2); pProducto.TipoUnidad = reader.GetString(3); pProducto.Precio = reader.GetDouble(4); //pProducto.Cantidad = Convert.ToInt16(pCantidad); double preciototal = pProducto.Precio * pProducto.Cantidad; pProducto.PrecioTotal = Convert.ToDouble(preciototal); //pProducto.Cantidad = Convert.ToInt16(cantidad); Lista.Add(pProducto); } conexion.Close(); return(Lista); } }
public static List <Pro_Venta> Cargar_Lista() { Pro_Venta pProducto = new Pro_Venta(); List <Pro_Venta> Lista = new List <Pro_Venta>(); DataTable retorno = new DataTable(); using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand comando = new MySqlCommand(string.Format( "Select * from Venta_Proceso"), conexion); MySqlDataReader reader = comando.ExecuteReader(); while (reader.Read()) { pProducto.Codigo = reader.GetInt64(0); pProducto.Nombre = reader.GetString(1); pProducto.Descripcion = reader.GetString(2); pProducto.TipoUnidad = reader.GetString(3); pProducto.Precio = reader.GetDouble(4); pProducto.Cantidad = reader.GetDouble(5); pProducto.PrecioUnitario = reader.GetDouble(6); Lista.Add(pProducto); } conexion.Close(); return(Lista); } }
public static int AgregarVenta_Proceso(Pro_Venta pVenta) { int retorno = 0; using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand Comando = new MySqlCommand(string.Format("Insert Into Venta_Proceso (Codigo, Nombre, Descripcion, TipoUnidad, PrecioUnitario, Cantidad, Importe) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}')", pVenta.Codigo, pVenta.Nombre, pVenta.Descripcion, pVenta.TipoUnidad, pVenta.PrecioUnitario, pVenta.Cantidad, pVenta.Importe), conexion); retorno = Comando.ExecuteNonQuery(); conexion.Close(); } return(retorno); }
public static int AgregarDetalleVenta(Pro_Venta pVenta) { int retorno = 0; using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand Comando = new MySqlCommand(string.Format("Insert Into Detalle_Ventas (Codigo, Cantidad, PrecioUnitario) values ('{0}','{1}','{2}')", pVenta.Codigo, pVenta.Cantidad, pVenta.Precio), conexion); retorno = Comando.ExecuteNonQuery(); conexion.Close(); } return(retorno); }
public static int AgregarVenta(Pro_Venta pVenta) { int retorno = 0; using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand Comando = new MySqlCommand(string.Format("Insert Into Ventas (Cliente, Total, PagoCon, Cambio, Estado) values ('{0}','{1}','{2}','{3}','A')", pVenta.Cliente, pVenta.Total, pVenta.PagoCon, pVenta.Cambio), conexion); retorno = Comando.ExecuteNonQuery(); conexion.Close(); } return(retorno); }
public static int Modificar_Venta(Pro_Venta pVenta) { int retorno = 0; using (MySqlConnection conexion = Conexion.MiConexion()) { MySqlCommand comando = new MySqlCommand(string.Format("Update Venta_Proceso set Cantidad='{0}', Importe='{1}' where Codigo={2}", pVenta.Cantidad, pVenta.Importe, pVenta.Codigo), conexion); retorno = comando.ExecuteNonQuery(); conexion.Close(); } return(retorno); }
private void btnAgregar_Carrito_Click(object sender, EventArgs e) { Pro_Productos Pro_Productos = new Pro_Productos(); //Validar si los campos codigo de producto y nombre de producto estan vacios if (txtProducto.Text.Length == 0 && txtNombre.Text.Length == 0) { MessageBox.Show("Error en campo codigo o nombre estan vacios", "Campo Obligatorio, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtProducto.Focus(); return; } //Validar si el campo codigo de producto es diferencte de vacio y si nombre de producto esta vacio else if (txtProducto.Text.Length != 0 && txtNombre.Text.Length == 0) { long Codigo; string Nombre, Descripcion, TipoUnidad; double PrecioUnitario, Cantidad, Importe; listView1.Items.Clear(); if (txtProducto.Text.Length != 0) { if (!Venta.Existe(Convert.ToInt64(txtProducto.Text)) == true) { MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Productos WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["Precio"].ToString()); Cantidad = double.Parse(txtCantidad.Text); Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(Cantidad.ToString()); //Provisional /* * txtCodigo1.Text = Convert.ToString(Codigo); * txtNombre1.Text = Nombre; * txtDescripcion1.Text = Descripcion; * txtTipoUnidad1.Text = TipoUnidad; * txtPrecio1.Text = Convert.ToString(PrecioUnitario); * txtCantidad1.Text = Convert.ToString(Cantidad); * txtImporte1.Text = Convert.ToString(Importe); */ /////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(Cantidad); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.AgregarVenta_Proceso(Pro_Venta); ////////////////////////////////////////////////////////////// } else { MessageBox.Show("Producto no encontrado"); } } else { //MessageBox.Show("Error, datos repetidos"); if (txtCantidad.Text == "1") { MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant = Cant + 1; Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } else { //MessageBox.Show("txtCantidad es mayor que 1"); MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant + double.Parse(txtCantidad.Text); Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } } } //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()); } double Total = 0; foreach (ListViewItem I in listView1.Items) { Total += double.Parse(listView1.Items[I.Index].SubItems[6].Text); } txtTotal.Text = Total.ToString(); txtProducto.Clear(); txtNombre.Text = ""; txtCantidad.Text = "1"; txtProducto.Focus(); } else if (txtProducto.Text.Length == 0 && txtNombre.Text.Length != 0) { long Codigo; string Nombre, Descripcion, TipoUnidad; double PrecioUnitario, Importe; listView1.Items.Clear(); MySqlConnection conexion3 = Conexion.MiConexion(); string query2 = "Select * from Productos where concat_ws(' ',Nombre,Descripcion) LIKE '%" + this.txtNombre.Text + "%';"; MySqlCommand comando2 = new MySqlCommand(query2, conexion3); MySqlDataReader leer2 = comando2.ExecuteReader(); if (leer2.Read() == true) { Codigo_Nombre = long.Parse(leer2["Codigo"].ToString()); } if (!Venta.Existe(Convert.ToInt64(Codigo_Nombre)) == false) { //MessageBox.Show("Ya existe"); if (txtCantidad.Text == "1") { MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + Codigo_Nombre + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant = Cant + 1; Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } else { //MessageBox.Show("txtCantidad es mayor que 1"); MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + Codigo_Nombre + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant + double.Parse(txtCantidad.Text); Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } } else { //MessageBox.Show("No existe, bla bla"); long Codigo2; string Nombre2, Descripcion2, TipoUnidad2; double PrecioUnitario2, Cantidad2, Importe2; listView1.Items.Clear(); MySqlConnection conexion = Conexion.MiConexion(); string query = "Select * from Productos where concat_ws(' ',Nombre,Descripcion) LIKE '%" + this.txtNombre.Text + "%';"; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo2 = long.Parse(leer["Codigo"].ToString()); Nombre2 = leer["Nombre"].ToString(); Descripcion2 = leer["Descripcion"].ToString(); TipoUnidad2 = leer["TipoUnidad"].ToString(); PrecioUnitario2 = double.Parse(leer["Precio"].ToString()); Cantidad2 = double.Parse(txtCantidad.Text); Importe2 = double.Parse(PrecioUnitario2.ToString()) * double.Parse(Cantidad2.ToString()); //Provisional /* * txtCodigo1.Text = Convert.ToString(Codigo); * txtNombre1.Text = Nombre; * txtDescripcion1.Text = Descripcion; * txtTipoUnidad1.Text = TipoUnidad; * txtPrecio1.Text = Convert.ToString(PrecioUnitario); * txtCantidad1.Text = Convert.ToString(Cantidad); * txtImporte1.Text = Convert.ToString(Importe); */ /////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo2); Pro_Venta.Nombre = Nombre2; Pro_Venta.Descripcion = Descripcion2; Pro_Venta.TipoUnidad = TipoUnidad2; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario2); Pro_Venta.Cantidad = Convert.ToDouble(Cantidad2); Pro_Venta.Importe = Convert.ToDouble(Importe2); Venta.AgregarVenta_Proceso(Pro_Venta); ////////////////////////////////////////////////////////////// } else { MessageBox.Show("Producto no encontrado"); } } //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()); } double Total = 0; foreach (ListViewItem I in listView1.Items) { Total += double.Parse(listView1.Items[I.Index].SubItems[6].Text); } txtTotal.Text = Total.ToString(); txtProducto.Clear(); txtNombre.Text = ""; txtCantidad.Text = "1"; txtProducto.Focus(); } else { MessageBox.Show("Error en campo codigo y nombre no deben estar llenos en el mismo formulario", "Campo Obligatorio, verifique", MessageBoxButtons.OK, MessageBoxIcon.Error); txtProducto.Focus(); return; } }
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 txtProducto_KeyPress(object sender, KeyPressEventArgs e) { Validaciones.Numeros(e); if (e.KeyChar == (char)13) { long Codigo; string Nombre, Descripcion, TipoUnidad; double PrecioUnitario, Cantidad, Importe; listView1.Items.Clear(); if (txtProducto.Text.Length != 0) { if (!Venta.Existe(Convert.ToInt64(txtProducto.Text)) == true) { MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Productos WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["Precio"].ToString()); Cantidad = double.Parse(txtCantidad.Text); Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(Cantidad.ToString()); //Provisional /* * txtCodigo1.Text = Convert.ToString(Codigo); * txtNombre1.Text = Nombre; * txtDescripcion1.Text = Descripcion; * txtTipoUnidad1.Text = TipoUnidad; * txtPrecio1.Text = Convert.ToString(PrecioUnitario); * txtCantidad1.Text = Convert.ToString(Cantidad); * txtImporte1.Text = Convert.ToString(Importe); */ /////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(Cantidad); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.AgregarVenta_Proceso(Pro_Venta); ////////////////////////////////////////////////////////////// } else { MessageBox.Show("Producto no encontrado"); } } else { //MessageBox.Show("Error, datos repetidos"); if (txtCantidad.Text == "1") { MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant = Cant + 1; Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } else { //MessageBox.Show("txtCantidad es mayor que 1"); MySqlConnection conexion = Conexion.MiConexion(); string query = "SELECT * FROM Venta_Proceso WHERE Codigo ='" + this.txtProducto.Text + "' "; MySqlCommand comando = new MySqlCommand(query, conexion); MySqlDataReader leer = comando.ExecuteReader(); if (leer.Read() == true) { Codigo = long.Parse(leer["Codigo"].ToString()); Nombre = leer["Nombre"].ToString(); Descripcion = leer["Descripcion"].ToString(); TipoUnidad = leer["TipoUnidad"].ToString(); PrecioUnitario = double.Parse(leer["PrecioUnitario"].ToString()); double Cant = double.Parse(leer["Cantidad"].ToString()); double quantity = Cant + double.Parse(txtCantidad.Text); Importe = double.Parse(PrecioUnitario.ToString()) * double.Parse(quantity.ToString()); /////////////////////////////////////////////////////////////////////////// //Guardar productos en tabla temporal Pro_Venta Pro_Venta = new Pro_Venta(); Pro_Venta.Codigo = Convert.ToInt64(Codigo); Pro_Venta.Nombre = Nombre; Pro_Venta.Descripcion = Descripcion; Pro_Venta.TipoUnidad = TipoUnidad; Pro_Venta.PrecioUnitario = Convert.ToDouble(PrecioUnitario); Pro_Venta.Cantidad = Convert.ToDouble(quantity); Pro_Venta.Importe = Convert.ToDouble(Importe); Venta.Modificar_Venta(Pro_Venta); } } } } //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()); } double Total = 0; foreach (ListViewItem I in listView1.Items) { Total += double.Parse(listView1.Items[I.Index].SubItems[6].Text); } txtTotal.Text = Total.ToString(); txtProducto.Clear(); txtNombre.Text = ""; txtCantidad.Text = "1"; txtProducto.Focus(); } }
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"); } }