/// <summary> /// Método que inserta un nuevo usuario con los datos de las propiedades. /// </summary> public void InsertarUsuario() { try { MySqlCommand sql = new MySqlCommand(); sql.CommandText = "INSERT INTO usuario (sucursal_id, username, pass, nombre, apellidos, email, imagen, huella, create_user, create_time) " + "VALUES (?sucursal_id, ?username, ?pass, ?nombre, ?apellidos, ?email, ?imagen, ?huella, ?create_user, NOW())"; sql.Parameters.AddWithValue("?sucursal_id", idSucusal); sql.Parameters.AddWithValue("?username", UserName); sql.Parameters.AddWithValue("?pass", Criptografia.Cifrar(Contraseña)); sql.Parameters.AddWithValue("?nombre", Nombre); sql.Parameters.AddWithValue("?apellidos", Apellidos); sql.Parameters.AddWithValue("?email", Correo); if (Imagen != null) { sql.Parameters.AddWithValue("?imagen", FuncionesGenerales.ImagenBytes(Imagen)); } else { sql.Parameters.AddWithValue("?imagen", DBNull.Value); } if (Huella != null) { sql.Parameters.AddWithValue("?huella", huella); } else { sql.Parameters.AddWithValue("?huella", DBNull.Value); } if (CantidadUsuarios > 0) { sql.Parameters.AddWithValue("?create_user", idUsuActual); } else { sql.Parameters.AddWithValue("?create_user", 1); } this.id = ConexionBD.EjecutarConsulta(sql); CambioCantidadUsuarios(); } catch (MySqlException ex) { throw ex; } catch (Exception ex) { throw ex; } }
/// <summary> /// Función que verifica los datos del usuario para su ingreso, y en caso de ser correctos, guarda la información del usuario. /// </summary> /// <param name="nomUsu">Nombre del usuario</param> /// <param name="pass">Contraseña del usuario</param> /// <returns>Valor booleano que indica si los datos son correctos</returns> async public static Task <bool> VerificarIngresoUsuario(string nomUsu, string pass) { bool existe = false; try { MySqlCommand sql = new MySqlCommand(); sql.CommandText = "SELECT id, nivel, nombre, apellidos, imagen FROM usuario WHERE username=?userName AND pass=?pass AND eliminado=0 AND sucursal_id='" + Config.idSucursal + "'"; sql.Parameters.AddWithValue("?userName", nomUsu); sql.Parameters.AddWithValue("?pass", Criptografia.Cifrar(pass)); DataTable dt = ConexionBD.EjecutarConsultaSelect(sql); foreach (DataRow dr in dt.Rows) { idUsuActual = (int)dr["id"]; nomUsuActual = dr["nombre"].ToString(); apeUsuActual = dr["apellidos"].ToString(); if (dr["imagen"] != DBNull.Value) { imgUsuActual = FuncionesGenerales.BytesImagen((byte[])dr["imagen"]); } else { imgUsuActual = null; } existe = true; await Privilegios.PrivilegiosUsuario(idUsuActual); } } catch (InvalidCastException ex) { throw ex; } catch (MySqlException ex) { throw ex; } catch (Exception ex) { throw ex; } return(existe); }
/// <summary> /// Método que edita la información de un usuario con la información de las propiedades /// </summary> public void EditarUsuario() { try { MySqlCommand sql = new MySqlCommand(); sql.CommandText = "UPDATE usuario SET pass=?pass, nombre=?nombre, apellidos=?apellidos, email=?email, imagen=?imagen, " + "huella=?huella, update_user=?update_user, update_time=NOW() WHERE id=?id"; sql.Parameters.AddWithValue("?pass", Criptografia.Cifrar(Contraseña)); sql.Parameters.AddWithValue("?nombre", Nombre); sql.Parameters.AddWithValue("?apellidos", Apellidos); sql.Parameters.AddWithValue("?email", Correo); if (Imagen != null) { sql.Parameters.AddWithValue("?imagen", FuncionesGenerales.ImagenBytes(Imagen)); } else { sql.Parameters.AddWithValue("?imagen", DBNull.Value); } if (Huella != null) { sql.Parameters.AddWithValue("?huella", Huella); } else { sql.Parameters.AddWithValue("?huella", DBNull.Value); } sql.Parameters.AddWithValue("?update_user", IDUsuarioActual); sql.Parameters.AddWithValue("?id", ID); ConexionBD.EjecutarConsulta(sql); if (ID == IDUsuarioActual) { OnChanged(EventArgs.Empty); } } catch (Exception ex) { throw ex; } }
/// <summary> /// Función que guarda determinada configuración /// </summary> /// <param name="nodoPrincipal">Nombre del nodo que contiene el grupo de configuración</param> /// <param name="nodoSecundario">Nombre del nodo tiene determinada configuración</param> /// <param name="valor">Valor de la configuración</param> /// /// <exception cref="System.Xml.XmlException">Devuelve información detallada sobre la última excepción.</exception> /// <exception cref="System.IO.PathTooLongException">Excepción que se produce cuando una ruta de acceso o un nombre de archivo supera la longitud máxima definida por el sistema.</exception> /// <exception cref="System.IO.DirectoryNotFoundException">Excepción que se produce cuando no encuentra parte de un archivo o directorio.</exception> /// <exception cref="System.IO.FileNotFoundException">Excepción que se produce cuando se produce un error al intentar tener acceso a un archivo que no existe en el disco.</exception> /// <exception cref="System.IO.IOException">Excepción que es lanzada cuando se produce un error de E/S.</exception> /// <exception cref="System.InvalidOperationException">Excepción que se produce cuando una llamada a un método no es válida para el estado actual del objeto.</exception> /// <exception cref="System.NotSupportedException">Excepción que se produce cuando no se admite un método invocado o cuando se intenta leer, buscar o escribir en una secuencia que no admite la funcionalidad invocada.</exception> /// <exception cref="System.UnauthorizedAccessException">Excepción que se produce cuando el sistema operativo deniega el acceso a causa de un error de E/S o de un error de seguridad de un tipo concreto.</exception> /// <exception cref="System.Security.SecurityException">La excepción que se produce cuando se detecta un error de seguridad.</exception> /// <exception cref="System.ArgumentNullException">Excepción que se produce cuando se pasa una referencia nula a un método que no la acepta como argumento válido.</exception> /// <exception cref="System.ArgumentException">Excepción que se produce cuando no es válido uno de los argumentos proporcionados para un método.</exception> /// <exception cref="System.Exception">Representa los errores que se producen durante la ejecución de una aplicación.</exception> public static void GuardarConfiguracion(string nodoPrincipal, string nodoSecundario, string valor) { string ruta = Application.StartupPath + "\\ArchivosConfiguracion\\configuracion.chev"; ExisteArchivoConfiguracion(true); try { if (ExisteConfiguracion(nodoPrincipal)) { if (ExisteConfiguracion(nodoPrincipal, nodoSecundario)) { XmlDocument xml = new XmlDocument(); xml.Load(ruta); XmlNode nodoPrimario = xml.DocumentElement; foreach (XmlNode nodo1 in nodoPrimario) { if (nodo1.Name == nodoPrincipal) { foreach (XmlNode nodo2 in nodo1) { if (nodo2.Name == nodoSecundario) { nodo2.InnerText = Criptografia.Cifrar(valor); break; } } break; } } xml.Save(ruta); } else { XmlDocument xml = new XmlDocument(); xml.Load(ruta); XmlNode nodoPrimario = xml.DocumentElement; foreach (XmlNode nodo1 in nodoPrimario) { if (nodo1.Name == nodoPrincipal) { XmlNode nodo2 = xml.CreateNode(XmlNodeType.Element, nodoSecundario, null); nodo2.InnerText = Criptografia.Cifrar(valor); nodo1.AppendChild(nodo2); break; } } xml.Save(ruta); } } else { XmlDocument xml = new XmlDocument(); xml.Load(ruta); XmlNode nodoPrimario = xml.DocumentElement; XmlNode nodo1 = xml.CreateNode(XmlNodeType.Element, nodoPrincipal, null); nodoPrimario.AppendChild(nodo1); xml.Save(ruta); GuardarConfiguracion(nodoPrincipal, nodoSecundario, valor); } } catch (XmlException ex) { throw ex; } catch (PathTooLongException ex) { throw ex; } catch (DirectoryNotFoundException ex) { throw ex; } catch (FileNotFoundException ex) { throw ex; } catch (IOException ex) { throw ex; } catch (InvalidOperationException ex) { throw ex; } catch (NotSupportedException ex) { throw ex; } catch (UnauthorizedAccessException ex) { throw ex; } catch (System.Security.SecurityException ex) { throw ex; } catch (ArgumentNullException ex) { throw ex; } catch (ArgumentException ex) { throw ex; } catch (Exception ex) { throw ex; } }