public string VerificarIdUsuarioActivo() { MySqlDataAdapter consulta = new MySqlDataAdapter(); string sql; DataSet resultado = new DataSet(); string IdUsuarioActivo; try { Conexion_DB.AbrirConexion(); sql = "select count(*)as pendiente, id from db_usuarios where Activo=1"; consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion); consulta.Fill(resultado, "rsUsuario"); if (Convert.ToInt32(resultado.Tables["rsUsuario"].Rows[0]["pendiente"]) == 1) { IdUsuarioActivo = Convert.ToString(resultado.Tables["rsUsuario"].Rows[0]["id"]); Conexion_DB.CerraConexion(); return(IdUsuarioActivo); } else { Conexion_DB.CerraConexion(); return("no"); } } catch (MySqlException ex) { MessageBox.Show("Error al Comprobar id activo de usuario" + ex.Message); return("error"); } }
public static DataSet cargarCotizacion() { MySqlDataAdapter consulta = new MySqlDataAdapter(); string sql; var resultado = new DataSet(); try { Conexion_DB.AbrirConexion(); sql = "select * from db_cotizacion order by Fecha desc limit 1"; consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion); consulta.Fill(resultado, "rsCotizacion"); Conexion_DB.CerraConexion(); } catch (MySqlException ex) { MessageBox.Show("Error al seleccionar Cliente " + ex.Message); } return(resultado); }
public DataSet verNotaAcobrar(DateTime fecha) { MySqlDataAdapter consulta = new MySqlDataAdapter(); string sql; var resultado = new DataSet(); string xFecha = Strings.Format(fecha, "yyyy/MM/dd"); sql = " select date(a.FechaDeVenta)as Venta,a.id as Operacion,b.Nombre as Cliente, a.TotalNeto As 'Total Neto' from db_ventas a inner join db_clientes b on a.id_cliente = b.id_clientes where date(a.FechaDeVenta) = '" + xFecha + "' and a.estado = 1"; try { Conexion_DB.AbrirConexion(); consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion); consulta.Fill(resultado, "rsVentaPendiente"); Conexion_DB.CerraConexion(); } catch (MySqlException ex) { MessageBox.Show("Error al ver compra Pendiente" + ex.Message); } return(resultado); }
public int capturarNuevoNumeroCaja() { MySqlDataAdapter consulta = new MySqlDataAdapter(); string sql; DataSet resultado = new DataSet(); int nuevoNumero = 0; try { sql = "select if(max(id)is null,1,max(id+1))as ultimoNumero from db_cajaregistro"; Conexion_DB.AbrirConexion(); consulta = new MySqlDataAdapter(sql, Conexion_DB.conexion); consulta.Fill(resultado, "rs"); nuevoNumero = Convert.ToInt32(resultado.Tables["rs"].Rows[0]["ultimoNumero"]); Conexion_DB.CerraConexion(); } catch (MySqlException ex) { MessageBox.Show("Error al capturar numero de caja" + ex); } return(nuevoNumero); }
/*************METODOS PARA EL INSERT DE LA CAJA**************/ public void cobrarVenta() { modSesion modSesion = new modSesion(); modUsuario modUsuario = new modUsuario(); frmComprobante frmComprobante = new frmComprobante(txtId_operacion.Text); if (Math.Round(saldoPrincipal, 2) != 0) { MessageBox.Show("Complete monto a pagar o verifique vuelto"); } else { MySqlCommand comando; MySqlTransaction transaccion; string sqlCaja; string sqlStock; string sqlventa; modCaja modCaja = new modCaja(); Conexion_DB.AbrirConexion(); // se abre una conexion con la base de datos MySqlConnection con = Conexion_DB.conexion; transaccion = con.BeginTransaction(); // se inicia una transaccion con la base de datos, acontinuacion se inicia procesos multiples try { // se inicia proceso 1 : insertar registro en la tabla caja----------------------------------------- sqlCaja = "INSERT INTO db_cajaregistro (Fecha,Movimiento,Operacion,id_Operacion,SubTotal,Descuento,TotalNeto,GS, US, RS, PA, CH, TJ, CR,Id_Cotizacion,Estado,Id_Usuarios) value " + "(current_timestamp,@mov,@operacion,@id_op,@subtotal,@descuento,@totalneto,@gs,@us,@rs,@pa,@ch,@tj,@cr,@id_cotizacion,@estado,@user)"; comando = new MySqlCommand(sqlCaja, con); comando.Parameters.AddWithValue("@mov", "E"); comando.Parameters.AddWithValue("@operacion", "VENTA"); comando.Parameters.AddWithValue("@id_op", txtId_operacion.Text); comando.Parameters.AddWithValue("@subtotal", totalPrincipal); comando.Parameters.AddWithValue("@descuento", descuentoPrincipal); comando.Parameters.AddWithValue("@totalneto", totalPrincipal - descuentoPrincipal); comando.Parameters.AddWithValue("@gs", modSesion.convertirDecimal(txtpagogs.Text) - modSesion.convertirDecimal(txtvueltogs.Text)); comando.Parameters.AddWithValue("@us", modSesion.convertirDecimal(txtpagous.Text) - modSesion.convertirDecimal(txtvueltous.Text)); comando.Parameters.AddWithValue("@rs", modSesion.convertirDecimal(txtpagors.Text) - modSesion.convertirDecimal(txtvueltors.Text)); comando.Parameters.AddWithValue("@pa", modSesion.convertirDecimal(txtpagops.Text) - modSesion.convertirDecimal(txtvueltops.Text)); comando.Parameters.AddWithValue("@ch", 0); comando.Parameters.AddWithValue("@tj", 0); comando.Parameters.AddWithValue("@cr", modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text)); comando.Parameters.AddWithValue("@id_cotizacion", idCotizacion); comando.Parameters.AddWithValue("@estado", "1"); int usr = Convert.ToInt32(modUsuario.VerificarIdUsuarioActivo()); comando.Parameters.AddWithValue("@user", usr); comando.ExecuteNonQuery(); // se inicia proceso 2: Actualizar estado de venta y saldo de venta decimal saldoVenta; string tipo_venta; if (modSesion.convertirDecimal(txtpagoCr.Text) == 0) // se verifica si pago no fue a credito { saldoVenta = 0; tipo_venta = "Contado"; } else { saldoVenta = modSesion.convertirDecimal(txtpagoCr.Text) - modSesion.convertirDecimal(txtvueltoCr.Text); tipo_venta = "Credito"; } sqlventa = "update db_ventas set Estado=2, TotalSaldo=@saldo,TipoDeVenta=@tipo where id= @id"; comando = new MySqlCommand(sqlventa, con); comando.Parameters.AddWithValue("@saldo", saldoVenta); comando.Parameters.AddWithValue("@id", txtId_operacion.Text); comando.Parameters.AddWithValue("@tipo", tipo_venta); comando.ExecuteNonQuery(); // se inicia proceso 3: Descontar stock de la venta cobrada int c, n; var consulta = new MySqlDataAdapter(); var resultado = new DataSet(); decimal cantidad; int idproducto; c = 0; sqlventa = ""; // se genera sql para capturar productos de la venta cobrada sqlventa = "select * from db_ventaitems where Id_Ventas = " + txtId_operacion.Text; consulta = new MySqlDataAdapter(sqlventa, con); consulta.Fill(resultado, "rsVenta"); while (c < resultado.Tables["rsVenta"].Rows.Count) { // se captura cantidad y codigo de producto de la consulta de la venta cantidad = Convert.ToDecimal(resultado.Tables["rsVenta"].Rows[c]["cantidad"]); idproducto = Convert.ToInt32(resultado.Tables["rsVenta"].Rows[c]["id_producto"]); // se genera sql para actualizar stock y se envia parametros sqlStock = "update db_productos set Stock = Stock - @cantidad where id=@idproducto"; comando = new MySqlCommand(sqlStock, con); comando.Parameters.AddWithValue("@cantidad", cantidad); comando.Parameters.AddWithValue("@idproducto", idproducto); comando.ExecuteNonQuery(); c = c + 1; } MensajeDeCheck mensajeDeCheck = new MensajeDeCheck(" Cobro Efectuado con exito"); mensajeDeCheck.ShowDialog(); frmComprobante.ShowDialog(); transaccion.Commit(); // finaliza procesos y aplica cambios en la base de datos Conexion_DB.CerraConexion(); preparaNuevaCaja(); modCaja.capturarNuevoNumeroCaja(); iniciarCobroVenta(); mostrarCotizacion(); } catch (MySqlException ex) { MessageBox.Show("Error al procesar cobro " + ex.Message); transaccion.Rollback(); } // si ocurre algun error no aplica cambios en la base de datos } }