namespace Holo.Source.Managers.User { using Holo; using Ion.Storage; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Threading; public static class FuserightManager { private static Hashtable Storage; public static List GenerateFuseList(int UserID) { List ReturnObject = new List(); try { foreach (Fuse FuseObject in Storage.Values) { if (FuseObject.IsBindedToUser(UserID)) { ReturnObject.Add(FuseObject.GetFuseData); } } return ReturnObject; } catch { return new List(); } } public static void Init(bool Update) { DataTable dTable; Storage = new Hashtable(); using (DatabaseClient dbClient = Eucalypt.dbManager.GetClient()) { dTable = dbClient.getTable("SELECT * FROM system_fuserights"); } foreach (DataRow dbRow in dTable.Rows) { int FuseID = Convert.ToInt32(dbRow["id"]); int UserID = 0; try { UserID = Convert.ToInt32(dbRow["userid"]); } catch { } Fuse FuseObject = new Fuse(Convert.ToString(dbRow["fuseright"]), FuseID, Convert.ToInt32(dbRow["minrank"]), UserID); Storage.Add(FuseID, FuseObject); } Out.WriteLine("Fuserights cached"); if (Update) { Thread.CurrentThread.Abort(); } } } }