// actualiza clave public bool actualizaClave(string clave, int idUsuario, string usuario) { string sql = "update usuarios set clave = @clave where id_usuario = @idUsuario"; bool result = true; int rows = 0; using (var conn = this._conexionMySQL.getConexionMySQL()) { conn.Open(); using (var cmd = new MySqlCommand()) { cmd.Connection = conn; // define parametros cmd.Parameters.AddWithValue("@clave", Utilerias.Base64Encode(clave)); cmd.Parameters.AddWithValue("@idUsuario", idUsuario); ManejoSql_My res = Utilerias.EjecutaSQL(sql, ref rows, cmd); if (!res.ok) { throw new Exception(res.numErr + ": " + res.descErr); } } } return(result); }
// inserta un nuevo usuario public bool insertaUsuario(string nombreCompleto, string correo, string usuario, string clave, string fecha) { MySqlTransaction trans; bool result = true; string sql = string.Empty; int rows = 0; string error = string.Empty; using (var conn = this._conexionMySQL.getConexionMySQL()) { conn.Open(); using (var cmd = new MySqlCommand()) { trans = conn.BeginTransaction(); try { cmd.Connection = conn; cmd.Transaction = trans; // inserta actuaizacion sql = "INSERT INTO usuarios (nombre_completo, correo, fecha_creacion, usuario, clave, status) " + "VALUES (@nombreCompleto, @correo, @fecha, @usuario, @clave, @status)"; string claveBase64 = Utilerias.Base64Encode(clave); // define parametros cmd.Parameters.AddWithValue("@nombreCompleto", nombreCompleto); cmd.Parameters.AddWithValue("@correo", correo); cmd.Parameters.AddWithValue("@usuario", usuario); cmd.Parameters.AddWithValue("@clave", claveBase64); cmd.Parameters.AddWithValue("@status", "A"); cmd.Parameters.AddWithValue("@fecha", fecha); ManejoSql_My res = Utilerias.EjecutaSQL(sql, ref rows, cmd); if (!res.ok) { throw new Exception(res.numErr + ": " + res.descErr); } trans.Commit(); } catch (Exception e) { trans.Rollback(); throw new Exception(e.Message); } } } return(result); }
// valida que la clave es correcta public bool validaClave(string claveActual, int _idUsuario) { bool result = false; string sql = "select count(*) from usuarios where clave = @clave and id_usuario = @idUsuario"; // define conexion con la cadena de conexion using (var conn = this._conexionMySQL.getConexionMySQL()) { // abre la conexion conn.Open(); using (var cmd = new MySqlCommand()) { cmd.Connection = conn; // define parametros cmd.Parameters.AddWithValue("@clave", Utilerias.Base64Encode(claveActual)); cmd.Parameters.AddWithValue("@idUsuario", _idUsuario); ManejoSql_My res = Utilerias.EjecutaSQL(sql, cmd); if (res.ok) { while (res.reader.Read()) { int count = Convert.ToInt16(res.reader[0]); if (count > 0) { result = true; } } } else { throw new Exception(res.numErr + ": " + res.descErr); } // cerrar el reader res.reader.Close(); } } return(result); }
// obtiene siguiente bloque public int getSigBloque() { int result = 0; string sql = "select ifnull(max(num_bloque), 0) bloque from actualizacion"; // define conexion con la cadena de conexion using (var conn = this._conexionMySQL.getConexionMySQL()) { // abre la conexion conn.Open(); using (var cmd = new MySqlCommand()) { cmd.Connection = conn; ManejoSql_My res = Utilerias.EjecutaSQL(sql, cmd); if (res.ok) { if (res.reader.HasRows) { while (res.reader.Read()) { result = Convert.ToInt32(res.reader["bloque"]); } } else { result = 0; } } else { throw new Exception(res.numErr + ": " + res.descErr); } // cerrar el reader res.reader.Close(); } } return(result); }
// obtiene los bloques dentro de un rango de fechas public List <int> obtieneBloques(string fechaIni, string fechaFin) { List <int> result = new List <int>(); string sql = "select num_bloque from actualizacion " + "where fecha between @fechaIni and @fechaFin group by num_bloque"; // define conexion con la cadena de conexion using (var conn = this._conexionMySQL.getConexionMySQL()) { // abre la conexion conn.Open(); using (var cmd = new MySqlCommand()) { cmd.Connection = conn; // define parametros cmd.Parameters.AddWithValue("@fechaIni", fechaIni); cmd.Parameters.AddWithValue("@fechaFin", fechaFin); ManejoSql_My res = Utilerias.EjecutaSQL(sql, cmd); if (res.ok) { while (res.reader.Read()) { result.Add(Convert.ToInt16(res.reader["num_bloque"])); } } else { throw new Exception(res.numErr + ": " + res.descErr); } // cerrar el reader res.reader.Close(); } } return(result); }
// regresa toda la informacion sobre los articulos a actualizar public List <Actualizacion> obtieneInformacion(string fechaIni, string fechaFin, int bloque, bool pendiente, bool realizado) { List <Actualizacion> result = new List <Actualizacion>(); Actualizacion ent; // string sql = "select idusuario, usuario from activos_usuarios where usuario = @usuario and clave = @clave"; string sql = "select ac.id_actualizacion, ac.num_bloque, ac.fecha, ac.clave_articulo, a.nombre, " + "if(ac.fidel = 'P' , 'PENDIENTE', 'REALIZADO') as fidel, " + "if(ac.heroico = 'P' , 'PENDIENTE', 'REALIZADO') as heroico, " + "if(ac.libertad = 'P' , 'PENDIENTE', 'REALIZADO') as libertad, " + "if(ac.status = 'P' , 'PENDIENTE', 'REALIZADO') as status " + "from actualizacion ac " + "left join articulos a on (ac.clave_articulo = a.clave) " + "where ac.fecha between @fechaIni and @fechaFin "; if (bloque > 0) { sql += "and ac.num_bloque = @bloque "; } if (pendiente) { if (realizado) { sql += "and (ac.status = 'R' or ac.status = 'P')"; } else { sql += "and (ac.status = 'P')"; } } else if (realizado) { sql += "and (ac.status = 'R')"; } sql += " order by ac.num_bloque asc"; // define conexion con la cadena de conexion using (var conn = this._conexionMySQL.getConexionMySQL()) { // abre la conexion conn.Open(); using (var cmd = new MySqlCommand()) { cmd.Connection = conn; // define parametros cmd.Parameters.AddWithValue("@fechaIni", fechaIni); cmd.Parameters.AddWithValue("@fechaFin", fechaFin); if (bloque > 0) { cmd.Parameters.AddWithValue("@bloque", bloque); } ManejoSql_My res = Utilerias.EjecutaSQL(sql, cmd); if (res.ok) { while (res.reader.Read()) { ent = new Modelos.Actualizacion(); ent.idActualizacion = Convert.ToInt16(res.reader["id_actualizacion"]); ent.claveArticulo = Convert.ToString(res.reader["clave_articulo"]); ent.numBloque = Convert.ToInt16(res.reader["num_bloque"]); ent.fecha = Convert.ToString(res.reader["fecha"]); ent.fidel = Convert.ToString(res.reader["fidel"]); ent.heroico = Convert.ToString(res.reader["heroico"]); ent.libertad = Convert.ToString(res.reader["libertad"]); ent.status = Convert.ToString(res.reader["status"]); ent.nombreArticulo = Convert.ToString(res.reader["nombre"]); result.Add(ent); } } else { throw new Exception(res.numErr + ": " + res.descErr); } // cerrar el reader res.reader.Close(); } } return(result); }
// guarda actualizacion public bool guardaActualizacion(List <Articulos> seleccionados, int bloque, string fecha) { MySqlTransaction trans; bool result = true; string sql = string.Empty; long idInserted = 0; int rows = 0; string error = string.Empty; using (var conn = this._conexionMySQL.getConexionMySQL()) { conn.Open(); using (var cmd = new MySqlCommand()) { trans = conn.BeginTransaction(); try { cmd.Connection = conn; cmd.Transaction = trans; cmd.Parameters.Clear(); foreach (Modelos.Articulos art in seleccionados) { // inserta actuaizacion sql = "INSERT INTO actualizacion (num_bloque, fecha, clave_articulo, fidel, heroico, libertad, status) " + "VALUES (@numBloque, @fecha, @claveArticulo, @fidel, @heroico, @libertad, @status)"; // define parametros cmd.Parameters.AddWithValue("@numBloque", bloque); cmd.Parameters.AddWithValue("@claveArticulo", art.clave); cmd.Parameters.AddWithValue("@fidel", "P"); cmd.Parameters.AddWithValue("@heroico", "P"); cmd.Parameters.AddWithValue("@libertad", "P"); cmd.Parameters.AddWithValue("@status", "P"); cmd.Parameters.AddWithValue("@fecha", fecha); ManejoSql_My res = Utilerias.EjecutaSQL(sql, ref rows, cmd); if (res.ok) { if (rows != 0) { idInserted = cmd.LastInsertedId; } } else { throw new Exception(res.numErr + ": " + res.descErr); } cmd.Parameters.Clear(); // inserta actualizacion_det string sqlDet = "INSERT INTO actualizacion_det (id_actualizacion, prec_lista, prec_minimo, prec_mayoreo, prec_filial, prec_imss, medio_mayoreo) " + "VALUES (@idAct, @precLista, @precMinimo, @precMayo, @precFilial, @precImss, @medioMayo)"; // define parametros cmd.Parameters.AddWithValue("@idAct", idInserted); cmd.Parameters.AddWithValue("@precLista", art.precLista); cmd.Parameters.AddWithValue("@precMinimo", art.precMinimo); cmd.Parameters.AddWithValue("@precMayo", art.precMayoreo); cmd.Parameters.AddWithValue("@precFilial", art.precFilial); cmd.Parameters.AddWithValue("@precImss", art.precIMSS); cmd.Parameters.AddWithValue("@medioMayo", art.medioMayoreo); res = Utilerias.EjecutaSQL(sqlDet, ref rows, cmd); if (!res.ok) { throw new Exception(res.numErr + ": " + res.descErr); } cmd.Parameters.Clear(); } trans.Commit(); } catch (Exception e) { trans.Rollback(); throw new Exception(e.Message); } } } return(result); }