public void Test() { var list = new SeedTasks(3, 3, 3).Tasks; // list[list.Count - 1].Subtasks[]; foreach (var t in list) { Console.WriteLine(t.Id); Console.WriteLine(t.Subtasks.Count); } Assert.AreEqual(SeedTasks.Cnt, 10); }
public void OnModelCreating_Tasks(ModelBuilder builder) { var achievementTasks = SeedTasks.SeedAchievementTasks(); var bluSpellTasks = SeedTasks.SeedBLUSpellTasks(); var bluSpellLocations = new List <BLUSpellLocation>(); var locationId = 0; var huntingSeed = new HuntingLogSeed(); //Debugger.Launch(); var huntingResults = huntingSeed.Seed(); foreach (var task in bluSpellTasks) { bluSpellLocations.AddRange(task.Locations.Select(x => new BLUSpellLocation { Id = ++locationId, BLUSpellTaskId = x.BLUSpellTaskId, LocationName = x.LocationName, MobName = x.MobName, })); task.Locations = null; } builder.Entity <AchievementTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.AchievementType) .WithMany(y => y.AchievementTasks) .HasForeignKey(x => x.AchievementTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_AchievementTask_AchievementType"); e.HasOne(x => x.Category) .WithMany(y => y.AchievementTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_AchievementTask_Category"); e.HasData(achievementTasks); }); builder.Entity <AchievementReward>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.RewardType) .WithMany(x => x.AchievementRewards) .HasForeignKey(x => x.RewardTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_AchievementReward_RewardType"); e.HasOne(x => x.Achievement) .WithMany(x => x.Rewards) .HasForeignKey(x => x.AchievementId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_AchievementReward_AchievementTask"); e.HasData(SeedTasks.SeedAchievementRewards(achievementTasks)); }); builder.Entity <BLUSpellTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(y => y.BLUSpellTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_BLUSpellTask_Category"); e.HasData(bluSpellTasks); }); builder.Entity <BLUSpellLocation>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Task) .WithMany(x => x.Locations) .HasForeignKey(x => x.BLUSpellTaskId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_BLUSpellLocation_BLUSpellTask"); e.HasData(bluSpellLocations.ToArray()); }); builder.Entity <BLUCarnivaleTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.BLUCarnivaleTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_BLUCarnivaleTask_Category"); e.HasData(SeedTasks.SeedBLUCarnivaleTasks()); }); builder.Entity <BLULogTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.BLULogTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_BLULogTask_Category"); e.HasOne(x => x.Content) .WithMany(x => x.BLULogTasks) .HasForeignKey(x => x.ContentId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_BLULogTask_PvEContent"); e.HasData(SeedTasks.SeedBLULogTasks()); }); builder.Entity <CollectionTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.CollectionTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_CollectionTask_Category"); e.HasOne(x => x.CollectionType) .WithMany(x => x.CollectionTasks) .HasForeignKey(x => x.CollectionTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_CollectionTask_CollectionType"); e.HasData(SeedTasks.SeedCollectionTasks()); }); builder.Entity <CraftingLogTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.CraftingLogTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_CraftingLogTask_Category"); e.HasOne(x => x.CraftingLogType) .WithMany(x => x.CraftingLogTasks) .HasForeignKey(x => x.CraftingLogTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_CraftingLogTask_CraftingLogType"); e.HasData(SeedTasks.SeedCraftingLogTasks()); }); builder.Entity <FATETask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.FATETasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_FATETask_Category"); using (var seed = new FATESeed()) e.HasData(seed.Seed()); }); builder.Entity <FishGuideTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.FishGuideTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_FishGuideTasks_Category"); e.HasOne(x => x.Zone) .WithMany(x => x.FishGuideTasks) .HasForeignKey(x => x.ZoneId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_FishGuideTask_Zone"); using (var seed = new FishGuideSeed()) e.HasData(seed.Seed()); }); builder.Entity <GatheringLogTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.GatheringLogTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_GatheringLogTask_Category"); e.HasOne(x => x.GatherType) .WithMany(x => x.GatheringLogTasks) .HasForeignKey(x => x.GatherTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_GatheringLogTask_GatherType"); //e.HasOne(x => x.Zone) // .WithMany(x => x.GatheringLogTasks) // .HasForeignKey(x => x.ZoneId) // .OnDelete(DeleteBehavior.Restrict) // .HasConstraintName("FK_GatheringLogTask_Zone"); using (var seed = new GatheringLogSeed()) e.HasData(seed.Seed()); }); builder.Entity <TheHuntTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.TheHuntTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_TheHuntTask_Category"); using (var seed = new TheHuntSeed()) e.HasData(seed.Seed()); }); builder.Entity <LeveTask>(e => { e.HasKey(x => x.Id); e.HasOne(x => x.Category) .WithMany(x => x.LeveTasks) .HasForeignKey(x => x.CategoryId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_LeveTask_Category"); e.HasOne(x => x.LeveType) .WithMany(x => x.LeveTasks) .HasForeignKey(x => x.LeveTypeId) .OnDelete(DeleteBehavior.Restrict) .HasConstraintName("FK_LeveTask_LeveType"); using (var seed = new LeveSeed()) e.HasData(seed.Seed()); }); builder.Entity <HuntingLogTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <HuntingLogTask, Entities.Categories.Category>(e, "Category", "HuntingLogTasks", "CategoryId"); CreateOneToMany <HuntingLogTask, HuntingLogType>(e, "HuntingLogType", "HuntingLogTasks", "HuntingLogTypeId"); var seed = huntingResults.Select(x => new HuntingLogTask { Id = x.Id, CategoryId = x.CategoryId, HuntingLogTypeId = x.HuntingLogTypeId, Level = x.Level, Name = x.Name, Number = x.Number }); e.HasData(seed.ToArray()); }); builder.Entity <HuntingLogMob>(e => { e.HasKey(x => x.Id); CreateOneToMany <HuntingLogMob, HuntingLogTask>(e, "HuntingLogTask", "Mobs", "HuntingLogId"); var seed = huntingResults.SelectMany(x => x.Mobs).ToArray(); e.HasData(seed); }); builder.Entity <MSQTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <MSQTask, Entities.Categories.Category>(e, "Category", "MSQTasks", "CategoryId"); CreateOneToMany <MSQTask, MSQType>(e, "MSQType", "MSQTasks", "MSQTypeId"); using (var seed = new MSQSeed()) e.HasData(seed.Seed()); }); builder.Entity <OrchestrionTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <OrchestrionTask, Entities.Categories.Category>(e, "Category", "OrchestrionTasks", "CategoryId"); CreateOneToMany <OrchestrionTask, OrchestrionType>(e, "OrchestrionType", "OrchestrionTasks", "OrchestrionTypeId"); using (var seed = new OrchestrionSeed()) e.HasData(seed.Seed()); }); builder.Entity <PvETask>(e => { e.HasKey(x => x.Id); CreateOneToMany <PvETask, Entities.Categories.Category>(e, "Category", "PvETasks", "CategoryId"); CreateOneToMany <PvETask, PvEContent>(e, "Content", "PvETasks", "ContentId"); using (var seed = new PvESeed()) e.HasData(seed.Seed()); }); builder.Entity <SightseeingLogTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <SightseeingLogTask, Entities.Categories.Category>(e, "Category", "SightseeingTasks", "CategoryId"); CreateOneToMany <SightseeingLogTask, Patch>(e, "Patch", "SightseeingTasks", "PatchId"); using (var seed = new SightseeingSeed()) e.HasData(seed.Seed()); }); builder.Entity <CardTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <CardTask, Entities.Categories.Category>(e, "Category", "CardTasks", "CategoryId"); using (var seed = new CardSeed()) e.HasData(seed.Seed()); }); builder.Entity <OpponentTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <OpponentTask, Entities.Categories.Category>(e, "Category", "OpponentTasks", "CategoryId"); using (var seed = new OpponentSeed()) e.HasData(seed.Seed()); }); builder.Entity <BeastQuestTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <BeastQuestTask, Entities.Categories.Category>(e, "Category", "BeastQuestTasks", "CategoryId"); CreateOneToMany <BeastQuestTask, BeastTribe>(e, "BeastTribe", "BeastQuestTasks", "BeastTribeId"); CreateOneToMany <BeastQuestTask, BeastRank>(e, "BeastRank", "BeastQuestTasks", "BeastRankId"); using (var seed = new BeastTribeSeed()) e.HasData(seed.Seed()); }); builder.Entity <ClassQuestTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <ClassQuestTask, Entities.Categories.Category>(e, "Category", "ClassQuestTasks", "CategoryId"); CreateOneToMany <ClassQuestTask, Discipline>(e, "Discipline", "ClassQuestTasks", "DisciplineId"); using (var seed = new ClassQuestSeed()) e.HasData(seed.Seed()); }); builder.Entity <SQTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <SQTask, Entities.Categories.Category>(e, "Category", "SidequestTasks", "CategoryId"); CreateOneToMany <SQTask, SQType>(e, "SQType", "SidequestTasks", "SQTypeId"); using (var seed = new SidequestSeed()) e.HasData(seed.Seed()); }); builder.Entity <RoleQuestTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <RoleQuestTask, Entities.Categories.Category>(e, "Category", "RoleQuestTasks", "CategoryId"); CreateOneToMany <RoleQuestTask, JobRole>(e, "JobRole", "RoleQuestTasks", "JobRoleId"); using (var seed = new RoleQuestSeed()) e.HasData(seed.Seed()); }); builder.Entity <RelicWeaponTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <RelicWeaponTask, Entities.Categories.Category>(e, "Category", "RelicWeaponTasks", "CategoryId"); CreateOneToMany <RelicWeaponTask, Discipline>(e, "Discipline", "RelicWeaponTasks", "DisciplineId"); using (var seed = new RelicWeaponSeed()) e.HasData(seed.Seed()); }); builder.Entity <UserTask>(e => { e.HasKey(x => x.Id); CreateOneToMany <UserTask, AppUser>(e, "User", "UserTasks", "UserId"); CreateOneToMany <UserTask, Entities.Categories.Category>(e, "Category", "UserTasks", "CatregoryId"); }); }