private static void SetAreas(Fallout4ChecklistContext context) { Areas = context.Areas .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.ImagePath)))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Companions.Select(a => a.ImagePath)))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.OtherRewards))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Settlements))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Weapons.Select(a => a.ImagePath)))) .Include(x => x.Companions.Select(y => y.ImagePath)) .Include(x => x.Weapons.Select(y => y.ImagePath)) .Include(x => x.Weapons.Select(y => y.QuestStages)) .Include(x => x.Bobbleheads.Select(y => y.ImagePath)) .Include(x => x.Magazines.Select(y => y.ImagePath)) .Include(x => x.Armor.Select(y => y.Slots)) .Include(x => x.Armor.Select(y => y.Effects)) .Include(x => x.NPCS.Select(y => y.WeaponsSold.Select(z => z.ImagePath))) .Include(x => x.NPCS.Select(y => y.WeaponsWorn.Select(z => z.ImagePath))) .Include(x => x.NPCS.Select(y => y.ArmorSold.Select(z => z.Effects))) .Include(x => x.NPCS.Select(y => y.ArmorSold.Select(z => z.Slots))) .Include(x => x.NPCS.Select(y => y.ArmorWorn.Select(z => z.Effects))) .Include(x => x.NPCS.Select(y => y.ArmorWorn.Select(z => z.Slots))) .ToList(); foreach (var area in Areas) { foreach (var npc in area.NPCS) { npc.ArmorSold.ForEach(x => x.IsPurchased = true); npc.ArmorWorn.ForEach(x => x.IsWornByNPC = true); npc.WeaponsSold.ForEach(x => x.IsPurchased = true); npc.WeaponsWorn.ForEach(x => x.IsWornByNPC = true); } } }
private static void SetWeaponMenuItems(Fallout4ChecklistContext context) { var weapons = context.Weapons .Include(x => x.Merchants) .Include(x => x.WornByCharacters) .Include(x => x.QuestStages) .Include(x => x.Areas) .Where(x => x.IsMenuItem).ToList(); var wTypes = context.Set <WeaponSubType>().ToList(); var subGroups = new List <MenuSubGroup>(); foreach (var wType in wTypes) { var items = weapons.Where(x => x.WeaponSubTypeID == wType.ID && x.WeaponTypeID == wType.WeaponTypeID); var subItems = new List <MenuItem>(); foreach (var item in items) { subItems.Add(new MenuItem(item)); } var menuSubGroup = new MenuSubGroup(wType.WeaponTypeID + " - " + wType.ID, subItems); subGroups.Add(menuSubGroup); } var menuItem = new MenuGroup("Weapons", subGroups); MenuItems.Add(menuItem); }
public static void SaveMenuSubItem(IMenuItem item) { using (var context = new Fallout4ChecklistContext()) { IMenuItem match = (IMenuItem)context.Set(item.GetType()).Find(item.EntityKey); if (match == null) { return; } match.IsChecked = item.IsChecked; context.SaveChanges(); } }
private static void SetPowerArmorMenuItems(Fallout4ChecklistContext context) { var armor = context.Set <Armor>().Where(x => x.IsMenuItem && x.IsPowerArmor).ToList(); var subItems = new List <MenuItem>(); foreach (var item in armor) { subItems.Add(new MenuItem(item)); } var menuSubGroup = new MenuSubGroup("All", subItems); var menuItem = new MenuGroup("Power Armor", menuSubGroup); MenuItems.Add(menuItem); }
private static List <ChecklistMagazine> GetChecklistMagazine(Fallout4ChecklistContext context) { var magazines = context.Set <Magazine>(); var result = new List <ChecklistMagazine>(); foreach (var item in magazines) { result.Add(new ChecklistMagazine() { Magazine = item }); } return(result); }
private static List <ChecklistCompanion> GetChecklistCompanion(Fallout4ChecklistContext context) { var companions = context.Companions; var result = new List <ChecklistCompanion>(); foreach (var item in companions) { result.Add(new ChecklistCompanion() { Companion = item }); } return(result); }
private static List <ChecklistWeapon> GetChecklistWeapon(Fallout4ChecklistContext context) { var weapons = context.Weapons.Where(x => x.IsMenuItem); var result = new List <ChecklistWeapon>(); foreach (var item in weapons) { result.Add(new ChecklistWeapon() { Weapon = item }); } return(result); }
private static List <ChecklistArmor> GetChecklistArmor(Fallout4ChecklistContext context) { var armor = context.Armor.Where(x => x.IsMenuItem); var result = new List <ChecklistArmor>(); foreach (var item in armor) { result.Add(new ChecklistArmor() { Armor = item }); } return(result); }
private static List <ChecklistQuest> GetChecklistQuest(Fallout4ChecklistContext context) { var quests = context.Set <Quest>(); var result = new List <ChecklistQuest>(); foreach (var item in quests) { result.Add(new ChecklistQuest() { Quest = item }); } return(result); }
private static List <ChecklistBobblehead> GetChecklistBobblehead(Fallout4ChecklistContext context) { var bobbleheads = context.Set <Bobblehead>(); var result = new List <ChecklistBobblehead>(); foreach (var item in bobbleheads) { result.Add(new ChecklistBobblehead() { Bobblehead = item }); } return(result); }
private static void SetAreaPaths(Fallout4ChecklistContext context) { AreaPaths = context.Set <AreaPath>() .Include(x => x.Area.Quests) .Include(x => x.Area.Armor) .Include(x => x.Area.Bobbleheads) .Include(x => x.Area.Magazines) .Include(x => x.Area.Companions) .Include(x => x.Area.Weapons) .Include(x => x.Area.NPCS.Select(y => y.ArmorSold)) .Include(x => x.Area.NPCS.Select(y => y.ArmorWorn)) .Include(x => x.Area.NPCS.Select(y => y.WeaponsSold)) .Include(x => x.Area.NPCS.Select(y => y.WeaponsWorn)) .ToList(); }
private static void SetCompanionMenuItems(Fallout4ChecklistContext context) { var companions = context.Companions.Include(x => x.Area).ToList(); var subItems = new List <MenuItem>(); foreach (var item in companions) { var menuSubItem = new MenuItem(item); subItems.Add(menuSubItem); } var menuSubGroup = new MenuSubGroup("All", subItems); var menuItem = new MenuGroup("Companions", menuSubGroup); MenuItems.Add(menuItem); }
private static void SetQuests(Fallout4ChecklistContext context) { QuestTypes = context.QuestTypes .Include(x => x.Quests.Select(y => y.QuestStages)) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.Slots)))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Armor.Select(a => a.Effects)))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Companions))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.NPCs))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.OtherRewards))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Settlements))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.Weapons))) .Include(x => x.Quests.Select(y => y.QuestStages.Select(z => z.NextQuestStages))) .OrderBy(x => x.DisplayOrder) .ToList(); Quests = QuestTypes.SelectMany(x => x.Quests).OrderBy(x => x.DisplayOrder).ToList(); }
public static void Initialize() { MenuItems = new List <MenuGroup>(); using (var context = new Fallout4ChecklistContext()) { SetChecklists(context); SetAreas(context); SetAreaPaths(context); SetQuests(context); SetBobbleheadMenuItems(context); SetMagazineMenuItems(context); SetWeaponMenuItems(context); SetArmorMenuItems(context); SetPowerArmorMenuItems(context); SetCompanionMenuItems(context); } }
public static void UpdateQuestCompleted(Quest quest) { using (var context = new Fallout4ChecklistContext()) { var dbMatch = context.Quests .Include(x => x.QuestStages.Select(y => y.Armor)) .Include(x => x.QuestStages.Select(y => y.Weapons)) .Include(x => x.QuestStages.Select(y => y.Companions)) .FirstOrDefault(x => x.ID == quest.ID); if (dbMatch == null) { return; } dbMatch.Completed = quest.IsChecked; dbMatch.ArmorRewards.ForEach(x => x.IsChecked = quest.IsChecked); dbMatch.WeaponRewards.ForEach(x => x.IsChecked = quest.IsChecked); dbMatch.CompanionRewards.ForEach(x => x.IsChecked = quest.IsChecked); context.SaveChanges(); } }
public static Checklist Add(string name) { var checklist = new Checklist(); checklist.Name = name; checklist.DateCreated = DateTime.Now; checklist.DateDeleted = null; checklist.IsDeleted = false; using (var context = new Fallout4ChecklistContext()) { checklist.ArmorCollectedStatus.AddRange(GetChecklistArmor(context)); checklist.WeaponCollectedStatus.AddRange(GetChecklistWeapon(context)); checklist.CompanionCollectedStatus.AddRange(GetChecklistCompanion(context)); checklist.MagazineCollectedStatus.AddRange(GetChecklistMagazine(context)); checklist.BobbleheadCollectedStatus.AddRange(GetChecklistBobblehead(context)); checklist.QuestCollectedStatus.AddRange(GetChecklistQuest(context)); context.Checklists.Add(checklist); context.SaveChanges(); } return(checklist); }
private static void SetMagazineMenuItems(Fallout4ChecklistContext context) { var magazines = context.Set <Magazine>().ToList(); var mTypes = context.Set <MagazineType>().ToList(); var subGroups = new List <MenuSubGroup>(); foreach (var mType in mTypes) { var items = magazines.Where(x => x.MagazineTypeID == mType.ID); var subItems = new List <MenuItem>(); foreach (var item in items) { subItems.Add(new MenuItem(item)); } var menuSubGroup = new MenuSubGroup(mType.ID, subItems); subGroups.Add(menuSubGroup); } var menuItem = new MenuGroup("Magazines", subGroups); MenuItems.Add(menuItem); }
private static void SetBobbleheadMenuItems(Fallout4ChecklistContext context) { var bobbleheads = context.Set <Bobblehead>().ToList(); var bTypes = context.Set <BobbleheadType>().ToList(); var subGroups = new List <MenuSubGroup>(); foreach (var bType in bTypes) { var items = bobbleheads.Where(x => x.BobbleheadTypeID == bType.ID); var subItems = new List <MenuItem>(); foreach (var item in items) { subItems.Add(new MenuItem(item)); } var menuSubGroup = new MenuSubGroup(bType.ID, subItems); subGroups.Add(menuSubGroup); } var menuItem = new MenuGroup("Bobbleheads", subGroups); MenuItems.Add(menuItem); }
private static void SetChecklists(Fallout4ChecklistContext context) { Checklists = context.Set <Checklist>() .Where(x => !x.IsDeleted) .ToList(); }