/// <summary> /// Implementación de la lógina de Login. /// </summary> public ResultadoLogin LoginUsuario(string usuario, string contrasenia) { string contraseniaSalt = ObtenerSal(usuario); string contraseniaBcrypt = ""; if (!String.IsNullOrWhiteSpace(contraseniaSalt)) { contraseniaBcrypt = BCrypt.HashPassword(contrasenia, contraseniaSalt); } SqlCommand loginCmd = new SqlCommand(loginQuery); loginCmd.Parameters.AddWithValue("@usuario", usuario); loginCmd.Parameters.AddWithValue("@contrasenia", contraseniaBcrypt); // Obtiene el resultado object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, loginCmd); // Si el resultado es nulo, no existe el usuario. if (resultado == null) { return(new ResultadoLogin(ResultadoLogin.TipoResultado.DENEGADO, null)); } else if (resultado.Equals(Operacion.ERROR)) { return(new ResultadoLogin(ResultadoLogin.TipoResultado.ERROR, null)); } { // Se le asigna la ID de la base de datos al usuario creado. Usuario creado = new Usuario(usuario, contrasenia, contraseniaBcrypt); creado.ID = BBDDPrograma.ObtenerIDUsuario(creado); return(new ResultadoLogin(ResultadoLogin.TipoResultado.ACEPTADO, creado)); } }
/// <summary> /// Implementación de ObtenerPuertoDefecto. /// </summary> public int ObtenerPuertoDefecto(Conexion.TipoConexion tipo) { // Crea el comando SqlCommand obtenerPuerto = new SqlCommand(obtenerPuertoQuery); obtenerPuerto.Parameters.AddWithValue("@id_tipo", (int)tipo); // Obtiene y devuelve el resultado return((int)OperacionSQL.ExecuteScalar(cadenaConexion, obtenerPuerto)); }
//// Métodos privados //// /// <summary> /// Comprueba si existe el nombre de un usuario en BBDD /// </summary> /// <param name="usuario">El nombre del usuario a buscar</param> /// <returns>True si existe el usuario.</returns> private bool ExisteUsuario(string usuario) { // Crea el comando SqlCommand existirCmd = new SqlCommand(existirQuery); existirCmd.Parameters.AddWithValue("@usuario", usuario); // Obtiene resultado object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, existirCmd); // Si el resultado es nulo, no existe el usuario. return(resultado != null); }
/// <summary> /// Obtiene la Sal almacenada en BBDD de un usuario dado. /// </summary> /// <param name="usuario">El usuario del que obtener la sal.</param> /// <returns>String con la sal de la contraseña del usuario.</returns> public string ObtenerSal(string usuario) { SqlCommand saltCmd = new SqlCommand(saltQuery); saltCmd.Parameters.AddWithValue("@usuario", usuario); // Obtiene el resultado object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, saltCmd); if (resultado != null) { return(resultado.ToString()); } else { return(""); } }
/// <summary> /// Implementación de la lógina de ObtenerIDUsuario. /// </summary> public int ObtenerIDUsuario(Usuario usuario) { // Crea el comando SqlCommand obtenerCmd = new SqlCommand(obtenerIDUsuarioQuery); obtenerCmd.Parameters.AddWithValue("@usuario", usuario.Nombre); obtenerCmd.Parameters.AddWithValue("@contrasenia", usuario.ContraseniaBBDD); // Obtiene el resultado object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, obtenerCmd); // Si el resultado es nulo, no existe el usuario. if (resultado == null) { return(-1); } else { return((int)resultado); } }
/// <summary> /// Implementación de la lógina de ObtenerIDConexion. /// </summary> public int ObtenerIDConexion(Conexion conexion) { // Crea el comando SqlCommand obtenerIDCmd = new SqlCommand(obtenerIDConexionQuery); obtenerIDCmd.Parameters.AddWithValue("@nombredir", conexion.Nombre); obtenerIDCmd.Parameters.AddWithValue("@direccion", conexion.Direccion); obtenerIDCmd.Parameters.AddWithValue("@usuario", conexion.UsuarioConexion); // Obtiene el resultado object resultado = OperacionSQL.ExecuteScalar(cadenaConexion, obtenerIDCmd); // Si el resultado es nulo, no existe la conexion. if (resultado == null) { return(-1); } else { return((int)resultado); } }