protected void SaveGuildsSQL() { Stopwatch watch = Stopwatch.StartNew(); List <Database.Guild> GuildList = new List <Database.Guild>(); List <Database.GuildWar> WarList = new List <Database.GuildWar>(); List <Database.GuildAlliance> GuildAlliances = new List <Database.GuildAlliance>(); int index = 0; foreach (BaseGuild guild in World.BuffGuild) { List <Database.GuildWar> gwl = new List <Database.GuildWar>(); Database.Guild g = new Database.Guild(); Database.GuildAlliance ga = new Database.GuildAlliance(); g.Id = guild.Id; g = guild.Serialize(g); GuildList.Add(g); gwl = guild.Serialize(gwl, ref index); if (gwl != null) { WarList.AddRange(gwl); } ga = guild.Serialize(ga); if (ga != null) { GuildAlliances.Add(ga); } } using (Database.UODataContext writedb = new Database.UODataContext(Core.SQLConnect)) { Database.LinqExtension.Truncate(writedb.GuildAlliances); //drop items table Database.LinqExtension.Truncate(writedb.Guilds); //drop items table Database.LinqExtension.Truncate(writedb.GuildWars); //drop items table writedb.BulkInsertAll(GuildAlliances); //bulk insert items writedb.BulkInsertAll(GuildList); //bulk insert items writedb.BulkInsertAll(WarList); //bulk insert items } watch.Stop(); Console.WriteLine("SQL Guild data created: " + watch.Elapsed.TotalSeconds); }
public abstract Database.Guild Serialize(Database.Guild g);
public abstract void Deserialize(Database.Guild g);