public async Task LoadDataAsync() { // initialize internal Data List<Model.Champion> champions = new List<Model.Champion>(); List<Model.SearchTag> searchTags = new List<Model.SearchTag>(); List<Model.ChampionSearchTag> championSearchTags = new List<Model.ChampionSearchTag>(); List<Model.ChampionSkin> championSkins = new List<Model.ChampionSkin>(); List<Model.ChampionAbility> championAbilities = new List<Model.ChampionAbility>(); // get File var uri = new Uri("ms-appx:///Assets/gameStats_" + GetLocalization(_applicationLanguages) + ".sqlite"); var file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri); var newFile = await Windows.Storage.ApplicationData.Current.TemporaryFolder.CreateFileAsync("db_temp.sqlite", Windows.Storage.CreationCollisionOption.ReplaceExisting); await file.CopyAndReplaceAsync(newFile); // open DB SQLiteConnection db = new SQLiteConnection(newFile.Path); // get Data champions = db.Query<Model.Champion>("select * from champions"); searchTags = db.Query<Model.SearchTag>("select * from searchTags"); championSearchTags = db.Query<Model.ChampionSearchTag>("select * from championSearchTags"); championSkins = db.Query<Model.ChampionSkin>("select * from championSkins"); championAbilities = db.Query<Model.ChampionAbility>("select * from championAbilities"); // close DB db.Close(); // get english Data //uri = new Uri("ms-appx:///Assets/gameStats_en_US.sqlite"); //file = await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(uri); //newFile = await Windows.Storage.ApplicationData.Current.TemporaryFolder.CreateFileAsync("db_temp_us.sqlite", Windows.Storage.CreationCollisionOption.ReplaceExisting); //await file.CopyAndReplaceAsync(newFile); //db = new SQLiteConnection(newFile.Path); //List<NameIdTuple> originalNames = db.Query<NameIdTuple>("select id, name from items"); //db.Close(); // analyse Data foreach (Model.Champion c in champions) { _champions.Add(new Champion(c)); } foreach (Model.SearchTag st in searchTags) { _searchTags.Add(new SearchTag(st)); } foreach (Model.ChampionSearchTag cst in championSearchTags) { SearchTag searchTag = _searchTags.Where<SearchTag>(st => st.id == cst.searchTagId).First(); Champion champion = _champions.Where<Champion>(c => c.id == cst.championId).First(); searchTag.AddChampion(champion); champion.AddSearchTag(searchTag); } foreach (Model.ChampionSkin cs in championSkins) { Champion champion = _champions.Where<Champion>(c => c.id == cs.championId).First(); Skin skin = new Skin(cs, champion); champion.AddSkin(skin); } foreach (Model.ChampionAbility ca in championAbilities) { Champion champion = _champions.Where<Champion>(c => c.id == ca.championId).First(); Ability ability = new Ability(ca); champion.AddAbility(ability); } // Call Prop Changed OnPropertyChanged("Champions"); OnPropertyChanged("SearchTags"); // return Task return; }
public void AddAbility(Ability ability) { _abilities.Add(ability); }