/// <summary> /// Retrieves the figure details of the Habbo matching the specified Habbo ID. /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool GetFigureFromHabboId(int habboId, out string figureString, out bool gender, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters["@habbo_id"] = habboId; using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `figure`, `gender` FROM `habbos` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { if (reader.HasRows) { while (reader.Read()) { figureString = (string)reader["figure"]; gender = (bool)reader["gender"]; return(true); } } } } figureString = ""; gender = true; return(false); }
/// <summary> /// SUMMARY /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool GetSubscriptionData(int habboId, string subscriptionType, out int totalBought, out int skippedLength, out int pausedStart, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@subscription_type", subscriptionType); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `total_bought`, `skipped_length`, `paused_start` FROM `subscriptions` WHERE `habbo_id` = @habbo_id AND `subscription_type` = @subscription_type LIMIT 1").ExecuteReader(parameters)) { if (!reader.HasRows) { totalBought = 0; skippedLength = 0; pausedStart = 0; return false; } reader.Read(); totalBought = (int)reader["total_bought"]; skippedLength = (int)reader["skipped_length"]; pausedStart = (int)reader["paused_start"]; return true; } } }
/// <summary> /// Retrieves the figure details of the Habbo matching the specified Habbo ID. /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool GetFigureFromHabboId(int habboId, out string figureString, out bool gender, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters["@habbo_id"] = habboId; using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `figure`, `gender` FROM `habbos` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { if (reader.HasRows) { while (reader.Read()) { figureString = (string)reader["figure"]; gender = (bool)reader["gender"]; return true; } } } } figureString = ""; gender = true; return false; }
/// <summary> /// SUMMARY /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool GetSubscriptionData(int habboId, string subscriptionType, out int totalBought, out int skippedLength, out int pausedStart, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@subscription_type", subscriptionType); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `total_bought`, `skipped_length`, `paused_start` FROM `subscriptions` WHERE `habbo_id` = @habbo_id AND `subscription_type` = @subscription_type LIMIT 1").ExecuteReader(parameters)) { if (!reader.HasRows) { totalBought = 0; skippedLength = 0; pausedStart = 0; return(false); } reader.Read(); totalBought = (int)reader["total_bought"]; skippedLength = (int)reader["skipped_length"]; pausedStart = (int)reader["paused_start"]; return(true); } } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static Dictionary <string, PermissionState> GetHabboPermissionsFromHabboId(int habboId, WrappedMySqlConnection connection = null) { Dictionary <string, PermissionState> permissions = new Dictionary <string, PermissionState>(); Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@habbo_id", habboId); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `permission_name`, `permission_state` FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { while (reader.Read()) { if ((sbyte)reader["permission_state"] == 1) { permissions.Add((string)reader["permission_name"], PermissionState.Allow); } else { permissions.Add((string)reader["permission_name"], PermissionState.Deny); } } return(permissions); } } ; }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool SetHabboPermissionsFromId(int habboId, string permissionName, PermissionState permissionState, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@permission_name", permissionName); if (permissionState == PermissionState.Undefined) { using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return(connection.GetCommand("DELETE FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id AND `permission_name`= @permission_name").ExecuteNonQuery(parameters) > 0); } } parameters.Add("@permission_state", (int)permissionState); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return(connection.GetCommand("INSERT INTO `permission_habbo_permissions` SET `habbo_id` = @habbo_id, `permission_name` = @permission_name, `permission_state` = @permission_state ON DUPLICATE KEY UPDATE `permission_state` = @permission_state").ExecuteNonQuery(parameters) > 0); } }
/// <summary> /// SUMMARY /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool SetSubscriptionData(int habboId, string subscriptionType, int totalBought, int skippedLength, int pausedStart, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@subscription_type", subscriptionType); parameters.Add("@total_bought", totalBought); parameters.Add("@skipped_length", skippedLength); parameters.Add("@paused_start", pausedStart); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return connection.GetCommand("INSERT INTO `subscriptions` (`habbo_id`, `subscription_type`, `total_bought`, `skipped_length`, `paused_start`) VALUES (@habbo_id, @subscription_type, @total_bought, @skipped_length, @paused_start) ON DUPLICATE KEY UPDATE `total_bought` = @total_bought, `skipped_length` = @skipped_length, `paused_start` = @paused_start").ExecuteNonQuery(parameters) >= 1; } }
/// <summary> /// SUMMARY /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool SetSubscriptionData(int habboId, string subscriptionType, int totalBought, int skippedLength, int pausedStart, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@subscription_type", subscriptionType); parameters.Add("@total_bought", totalBought); parameters.Add("@skipped_length", skippedLength); parameters.Add("@paused_start", pausedStart); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return(connection.GetCommand("INSERT INTO `subscriptions` (`habbo_id`, `subscription_type`, `total_bought`, `skipped_length`, `paused_start`) VALUES (@habbo_id, @subscription_type, @total_bought, @skipped_length, @paused_start) ON DUPLICATE KEY UPDATE `total_bought` = @total_bought, `skipped_length` = @skipped_length, `paused_start` = @paused_start").ExecuteNonQuery(parameters) >= 1); } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static ICollection<PermissionsGroupPermissionData> GetAllPermissionGroupPermissions(WrappedMySqlConnection connection = null) { List<PermissionsGroupPermissionData> groupPermissions = new List<PermissionsGroupPermissionData>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name`, `permission_name`, `permission_state` FROM `permission_group_permissions`").ExecuteReader()) { while (reader.Read()) { groupPermissions.Add(new PermissionsGroupPermissionData((string)reader["group_name"], (string)reader["permission_name"], (PermissionState)reader["permission_state"])); // TODO: Test if a direct cast to PermissionState is possible. } return groupPermissions; } } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static ICollection <PermissionsGroupPermissionData> GetAllPermissionGroupPermissions(WrappedMySqlConnection connection = null) { List <PermissionsGroupPermissionData> groupPermissions = new List <PermissionsGroupPermissionData>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name`, `permission_name`, `permission_state` FROM `permission_group_permissions`").ExecuteReader()) { while (reader.Read()) { groupPermissions.Add(new PermissionsGroupPermissionData((string)reader["group_name"], (string)reader["permission_name"], (PermissionState)reader["permission_state"])); // TODO: Test if a direct cast to PermissionState is possible. } return(groupPermissions); } } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static IEnumerable<string> GetHabboPermissionGroupsFromHabboId(int habboId, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@habbo_id", habboId); List<string> groupNames = new List<string>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name` FROM `permission_habbo_groups` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { while (reader.Read()) { groupNames.Add((string)reader["group_name"]); } return groupNames; } } }
/// <summary> /// Retrieves the IDs of the Rooms owned by owner ID. /// </summary> /// <param name="ownerId">The owner ID to search with.</param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> public static IEnumerable<int> GetRoomIdsFromRoomOwner(string ownerId, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@owner_id", ownerId); List<int> roomIds = new List<int>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `room_id` FROM `rooms` WHERE `owner_id` = @owner_id").ExecuteReader(parameters)) { while (reader.Read()) { roomIds.Add((int)reader["room_id"]); } return roomIds; } } }
/// <summary> /// Retrieves the IDs of the Rooms owned by owner ID. /// </summary> /// <param name="ownerId">The owner ID to search with.</param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> public static IEnumerable <int> GetRoomIdsFromRoomOwner(string ownerId, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@owner_id", ownerId); List <int> roomIds = new List <int>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `room_id` FROM `rooms` WHERE `owner_id` = @owner_id").ExecuteReader(parameters)) { while (reader.Read()) { roomIds.Add((int)reader["room_id"]); } return(roomIds); } } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static IEnumerable <string> GetHabboPermissionGroupsFromHabboId(int habboId, WrappedMySqlConnection connection = null) { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters.Add("@habbo_id", habboId); List <string> groupNames = new List <string>(); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `group_name` FROM `permission_habbo_groups` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { while (reader.Read()) { groupNames.Add((string)reader["group_name"]); } return(groupNames); } } }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static Dictionary<string, PermissionState> GetHabboPermissionsFromHabboId(int habboId, WrappedMySqlConnection connection = null) { Dictionary<string, PermissionState> permissions = new Dictionary<string, PermissionState>(); Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@habbo_id", habboId); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { using (MySqlDataReader reader = connection.GetCommand("SELECT `permission_name`, `permission_state` FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id").ExecuteReader(parameters)) { while (reader.Read()) { if((sbyte)reader["permission_state"] == 1) permissions.Add((string)reader["permission_name"], PermissionState.Allow); else permissions.Add((string)reader["permission_name"], PermissionState.Deny); } return permissions; } } ; }
/// <summary> /// /// </summary> /// <param name=""></param> /// <param name="connection">The connection to use. If not specified (or null) then a connection will be picked automatically.</param> /// <returns></returns> public static bool SetHabboPermissionsFromId(int habboId, string permissionName, PermissionState permissionState, WrappedMySqlConnection connection = null) { Dictionary<string, object> parameters = new Dictionary<string, object>(); parameters.Add("@habbo_id", habboId); parameters.Add("@permission_name", permissionName); if (permissionState == PermissionState.Undefined) { using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return connection.GetCommand("DELETE FROM `permission_habbo_permissions` WHERE `habbo_id` = @habbo_id AND `permission_name`= @permission_name").ExecuteNonQuery(parameters) > 0; } } parameters.Add("@permission_state", (int)permissionState); using (connection = connection ?? CoreManager.ServerCore.MySqlConnectionProvider.GetConnection()) { return connection.GetCommand("INSERT INTO `permission_habbo_permissions` SET `habbo_id` = @habbo_id, `permission_name` = @permission_name, `permission_state` = @permission_state ON DUPLICATE KEY UPDATE `permission_state` = @permission_state").ExecuteNonQuery(parameters) > 0; } }