public DataProvider(IDatabaseConnection db) { _db = db; //Compendium = new Importer().ImportCompendium(Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Data", "SRD.xml")); Compendium = new Importer().ImportCompendium(@"D:\Dateien\OneDrive\Xerios\AllData.xml"); var monsterParser = new MonsterParser(new SpellcastingParser(), new ActionParser(), new DynamicEnumProvider(db)); var spellParser = new SpellParser(); var allMonsters = GetAllMonsters(); var allSpells = GetAllSpells(); foreach (var compendiumSpell in Compendium.Spells) { if (allSpells.Any(m => m.Name.Equals(compendiumSpell.Name))) { continue; } var spell = spellParser.Parse(compendiumSpell); db.Add(spell); } allSpells = GetAllSpells(); foreach (var compendiumMonster in Compendium.Monsters) { if (allMonsters.Any(m => m.Name.Equals(compendiumMonster.Name))) { continue; } var monster = monsterParser.Parse(compendiumMonster, allSpells); db.Add(monster); } }
private void ImportXML(IDatabaseConnection db) { var srd = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "Data", "SRD.xml"); if (File.Exists(@"D:\Dateien\OneDrive\Xerios\AllData.xml")) { Compendium = new Importer().ImportCompendium(@"D:\Dateien\OneDrive\Xerios\AllData.xml"); } else if (File.Exists(srd)) { Compendium = new Importer().ImportCompendium(srd); } else { return; } var monsterParser = new MonsterParser(new SpellcastingParser(), new ActionParser()); var spellParser = new SpellParser(); var allMonsters = GetAllMonsters(); var allSpells = GetAllSpells(); foreach (var compendiumSpell in Compendium.Spells) { if (allSpells.Any(m => m.Name.Equals(compendiumSpell.Name))) { continue; } var spell = spellParser.Parse(compendiumSpell); db.Add(spell); } allSpells = GetAllSpells(); foreach (var compendiumMonster in Compendium.Monsters) { if (allMonsters.Any(m => m.Name.Equals(compendiumMonster.Name))) { continue; } var monster = monsterParser.Parse(compendiumMonster, allSpells); db.Add(monster); } }