예제 #1
0
        public static void DeleteUser(string username)
        {
            lock (UserIdCacheLock)
            {
                if (UserIdCache.ContainsKey(username))
                {
                    UserIdCache.Remove(username);
                }

                using (var cmd = UserIDMappingDatabase.CreateCommand())
                {
                    cmd.CommandText = "DELETE FROM users WHERE username = @username";
                    cmd.Parameters.AddWithValue("@username", username);
                    cmd.ExecuteNonQuery();
                }
            }
        }
예제 #2
0
        public static string GetUserId(string username)
        {
            lock (UserIdCacheLock)
            {
                if (!UserIdCache.ContainsKey(username))
                {
                    using (var cmd = UserIDMappingDatabase.CreateCommand())
                    {
                        cmd.CommandText = "SELECT userid FROM users WHERE username = @username";
                        cmd.Parameters.AddWithValue("@username", username);
                        var result = cmd.ExecuteScalar();

                        if (result != null)
                        {
                            UserIdCache[username] = result.ToString();
                        }
                    }
                }

                return(UserIdCache.ContainsKey(username) ? UserIdCache[username] : null);
            }
        }