/// <summary> /// Implementación de la lógina de EliminarConexion. /// </summary> public bool EliminarConexion(Conexion eliminar) { SqlCommand eliminarCmd = new SqlCommand(eliminarConexionQuery); eliminarCmd.Parameters.AddWithValue("@id_conexion", eliminar.ID); // Obtiene resultado int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, eliminarCmd); // Si es distinto a 0, se eliminado la conexión return(resultadoFilasSQL != 0); }
/// <summary> /// Implementación de la lógina de RegistrarConexion. /// </summary> public ResultadoConexion RegistrarConexion(Conexion guardar) { // Si el puerto no está relleno, usar el por defecto almacenado en la bbdd // INSERT INTO conexion VALUES // tipo_conexion, id_usuario, nombre, direccion, puerto, usuario, contrasenia int tipo_conexion = (int)guardar.TipoActual; int id_usuario = guardar.Propietario.ID; string nombre = guardar.Nombre; string direccion = guardar.Direccion; string usuario = guardar.UsuarioConexion; string contrasenia = guardar.ContraseniaConexion; int puerto = guardar.Puerto; // La conexion se registra y luego se obtiene el ID de la BBDD en el constructor de Conexion if (ExisteConexion(guardar)) { return(new ResultadoConexion(ResultadoConexion.TipoResultado.DUPLICADO, null)); } else { SqlCommand registrarCmd = new SqlCommand(registrarConexionQuery); // @tipo_conexion, @id_usuario, @nombre, @direccion, @puerto, @usuario, @contrasenia registrarCmd.Parameters.AddWithValue("@tipo_conexion", tipo_conexion); registrarCmd.Parameters.AddWithValue("@id_usuario", id_usuario); registrarCmd.Parameters.AddWithValue("@nombre", nombre); registrarCmd.Parameters.AddWithValue("@direccion", direccion); registrarCmd.Parameters.AddWithValue("@puerto", puerto); registrarCmd.Parameters.AddWithValue("@usuario", usuario); registrarCmd.Parameters.AddWithValue("@contrasenia", contrasenia); // Obtiene el resultado int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, registrarCmd); // Si es distinto mayor a 0, se habrá registrado la conexion if (resultadoFilasSQL > 0) { // Devuelve la conexión guardada con su ID asignado guardar.ID = ObtenerIDConexion(guardar); return(new ResultadoConexion(ResultadoConexion.TipoResultado.ACEPTADO, guardar)); } else { return(new ResultadoConexion(ResultadoConexion.TipoResultado.ERROR, null)); } } }
/// <summary> /// Implementación de la lógina de Registro. /// </summary> public ResultadoRegistro RegistrarUsuario(string usuario, string contrasenia) { if (ExisteUsuario(usuario)) { return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.DUPLICADO, null)); } else { // Generar sal string contraseniaSalt = BCrypt.GenerateSalt(); //mySalt == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO" string contraseniaBcrypt = BCrypt.HashPassword(contrasenia, contraseniaSalt); //myHash == "$2a$10$rBV2JDeWW3.vKyeQcM8fFO4777l4bVeQgDL6VIkxqlzQ7TCalQvla" bool doesPasswordMatch = BCrypt.CheckPassword(contrasenia, contraseniaBcrypt); SqlCommand registrarCmd = new SqlCommand(registrarUsuarioQuery); registrarCmd.Parameters.AddWithValue("@usuario", usuario); registrarCmd.Parameters.AddWithValue("@contrasenia", contraseniaBcrypt); registrarCmd.Parameters.AddWithValue("@contrasenia_salt", contraseniaSalt); // Obtiene el resultado int resultadoFilasSQL = OperacionSQL.ExecuteNonQuery(cadenaConexion, registrarCmd); // Si es distinto mayor a 0, se habrá registrado el usuario if (resultadoFilasSQL > 0) { Usuario creado = new Usuario(usuario, contrasenia, contraseniaBcrypt); creado.ID = BBDDPrograma.ObtenerIDUsuario(creado); return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.ACEPTADO, creado)); } else { return(new ResultadoRegistro(ResultadoRegistro.TipoResultado.ERROR_CONEXION, null)); } } }