public static void Initialise(WoWClassicNewsContext context) { context.Database.EnsureCreated(); if (!context.WarcraftClasses.Any()) { DbSeeder.Seed(context); } }
public static void Seed(WoWClassicNewsContext context) { // 1. Add Talent Icons var talentIcons = TalentIconSeeder.SetupIcons(); foreach (var icon in talentIcons) { context.Add(icon); } context.SaveChanges(); // 2. Add Classes and their Talents var druid = new WarcraftClass { ClassName = "Druid", WarcraftClassSpecifications = DruidClassSeeder.Setup(talentIcons), Order = 1 }; var hunter = new WarcraftClass { ClassName = "Hunter", WarcraftClassSpecifications = HunterClassSeeder.Setup(talentIcons), Order = 2 }; var mage = new WarcraftClass { ClassName = "Mage", WarcraftClassSpecifications = MageClassSeeder.Setup(talentIcons), Order = 3 }; var paladin = new WarcraftClass { ClassName = "Paladin", WarcraftClassSpecifications = PaladinClassSeeder.Setup(talentIcons), Order = 4 }; var priest = new WarcraftClass { ClassName = "Priest", WarcraftClassSpecifications = PriestClassSeeder.Setup(talentIcons), Order = 5 }; var rogue = new WarcraftClass { ClassName = "Rogue", WarcraftClassSpecifications = RogueClassSeeder.Setup(talentIcons), Order = 6 }; var shaman = new WarcraftClass { ClassName = "Shaman", WarcraftClassSpecifications = ShamanClassSeeder.Setup(talentIcons), Order = 7 }; var warlock = new WarcraftClass { ClassName = "Warlock", WarcraftClassSpecifications = WarlockClassSeeder.Setup(talentIcons), Order = 8 }; var warrior = new WarcraftClass { ClassName = "Warrior", WarcraftClassSpecifications = WarriorClassSeeder.Setup(talentIcons), Order = 9 }; var classes = new List <WarcraftClass> { druid, hunter, mage, paladin, priest, rogue, shaman, warlock, warrior }; foreach (var wc in classes) { context.WarcraftClasses.Add(wc); } context.SaveChanges(); // 3. Setup Talent Requirement links between Talents DruidClassSeeder.SetupTalentRequirements(druid.WarcraftClassSpecifications); HunterClassSeeder.SetupTalentRequirements(hunter.WarcraftClassSpecifications); MageClassSeeder.SetupTalentRequirements(mage.WarcraftClassSpecifications); PaladinClassSeeder.SetupTalentRequirements(paladin.WarcraftClassSpecifications); PriestClassSeeder.SetupTalentRequirements(priest.WarcraftClassSpecifications); RogueClassSeeder.SetupTalentRequirements(rogue.WarcraftClassSpecifications); ShamanClassSeeder.SetupTalentRequirements(shaman.WarcraftClassSpecifications); WarlockClassSeeder.SetupTalentRequirements(warlock.WarcraftClassSpecifications); WarriorClassSeeder.SetupTalentRequirements(warrior.WarcraftClassSpecifications); context.SaveChanges(); }