public static void SQL_SynchronizeClans() { if (Core.DatabaseType.Equals("MYSQL")) { MySQL.Result result = MySQL.Query("SELECT * FROM `db_clans`;", true); if (result != null) { using (List <MySQL.Row> .Enumerator enumerator = result.Row.GetEnumerator()) { while (enumerator.MoveNext()) { Predicate <ClanLevel> predicate = null; Clans.Class3 @class = new Clans.Class3(); @class.row_0 = enumerator.Current; uint asUInt = @class.row_0.Get("id").AsUInt; ClanData clanData; if (Clans.Database.ContainsKey(asUInt)) { clanData = Clans.Get(asUInt); } else { Clans.Database.Add(asUInt, clanData = new ClanData(asUInt, null, null, 0uL, default(DateTime))); } if (!Clans.dictionary_0.ContainsKey(asUInt)) { Clans.dictionary_0.Add(asUInt, 0uL); } if (Clans.Database[clanData.ID].Hash == Clans.dictionary_0[clanData.ID]) { clanData.Name = @class.row_0.Get("name").AsString; clanData.Abbr = @class.row_0.Get("abbrev").AsString; clanData.LeaderID = @class.row_0.Get("leader_id").AsUInt64; clanData.Created = @class.row_0.Get("created").AsDateTime; clanData.Flags = @class.row_0.Get("flags").AsEnum <ClanFlags>(); clanData.Balance = @class.row_0.Get("balance").AsUInt64; clanData.Tax = @class.row_0.Get("tax").AsUInt; ClanData clanData2 = clanData; List <ClanLevel> levels = Clans.Levels; if (predicate == null) { predicate = new Predicate <ClanLevel>(@class.method_0); } clanData2.SetLevel(levels.Find(predicate)); clanData.Experience = @class.row_0.Get("experience").AsUInt64; string[] array = @class.row_0.Get("location").AsString.Replace(", ", ",").Split(new char[] { ',' }); if (array.Length > 0) { float.TryParse(array[0].Trim(), out clanData.Location.x); } if (array.Length > 1) { float.TryParse(array[1].Trim(), out clanData.Location.y); } if (array.Length > 2) { float.TryParse(array[2].Trim(), out clanData.Location.z); } clanData.MOTD = @class.row_0.Get("motd").AsString; clanData.Penalty = @class.row_0.Get("penalty").AsDateTime; } else { Clans.SQL_Update(clanData, false); } Clans.dictionary_0[asUInt] = Clans.Database[asUInt].Hash; } } } } }
public static bool LoadAsDatabaseSQL() { Predicate <ClanLevel> predicate = null; Clans.Class1 @class = new Clans.Class1(); Clans.Loaded = 0; ClanData clanData = null; UserData userData = null; @class.row_0 = null; MySQL.Result result = MySQL.Query("SELECT * FROM `db_clans`;", false); MySQL.Result result2 = MySQL.Query("SELECT * FROM `db_clans_members`;", false); MySQL.Result result3 = MySQL.Query("SELECT * FROM `db_clans_hostile`;", false); if (result2 != null && result != null) { foreach (MySQL.Row current in result2.Row) { Clans.Class2 class2 = new Clans.Class2(); class2.class1_0 = @class; ulong asUInt = current.Get("user_id").AsUInt64; class2.uint_0 = current.Get("clan_id").AsUInt; userData = Users.GetBySteamID(asUInt); if (userData != null && class2.uint_0 != 0u) { if (@class.row_0 == null || @class.row_0.Get("id").AsUInt != class2.uint_0) { @class.row_0 = result.Row.Find(new Predicate <MySQL.Row>(class2.method_0)); } if (@class.row_0 == null) { MySQL.Query(string.Format(Clans.SQL_DELETE_MEMBER, asUInt), false); } else { ClanMemberFlags value = current.Get("privileges").AsEnum <ClanMemberFlags>(); if (clanData == null || clanData.ID != class2.uint_0) { clanData = Clans.Get(class2.uint_0); } if (clanData == null) { clanData = new ClanData(class2.uint_0, null, null, 0uL, default(DateTime)); clanData.Name = @class.row_0.Get("name").AsString; clanData.Abbr = @class.row_0.Get("abbrev").AsString; clanData.LeaderID = @class.row_0.Get("leader_id").AsUInt64; clanData.Created = @class.row_0.Get("created").AsDateTime; clanData.Flags = @class.row_0.Get("flags").AsEnum <ClanFlags>(); clanData.Balance = @class.row_0.Get("balance").AsUInt64; clanData.Tax = @class.row_0.Get("tax").AsUInt; ClanData clanData2 = clanData; List <ClanLevel> levels = Clans.Levels; if (predicate == null) { predicate = new Predicate <ClanLevel>(@class.method_0); } clanData2.SetLevel(levels.Find(predicate)); clanData.Experience = @class.row_0.Get("experience").AsUInt64; string[] array = @class.row_0.Get("location").AsString.Split(new char[] { ',' }); if (array.Length > 0) { float.TryParse(array[0], out clanData.Location.x); } if (array.Length > 1) { float.TryParse(array[1], out clanData.Location.y); } if (array.Length > 2) { float.TryParse(array[2], out clanData.Location.z); } clanData.MOTD = @class.row_0.Get("motd").AsString; clanData.Penalty = @class.row_0.Get("penalty").AsDateTime; if (result3 != null) { foreach (MySQL.Row current2 in result3.Row) { if (current2.Get("clan_id").AsUInt == class2.uint_0) { clanData.Hostile.Add(current2.Get("hostile_id").AsUInt, current2.Get("ending").AsDateTime); } } } Clans.Database.Add(clanData.ID, clanData); Clans.Loaded++; } clanData.Members.Add(userData, value); userData.Clan = clanData; } } else { MySQL.Query(string.Format(Clans.SQL_DELETE_MEMBER, asUInt), false); } } } Clans.dictionary_0.Clear(); foreach (uint current3 in Clans.Database.Keys) { Clans.dictionary_0.Add(current3, Clans.Database[current3].Hash); } return(true); }