public async Task OnInit() { Leagues = null; Leagues = await poeTradeClient.Fetch <League>(); var newLeagues = false; using var algorithm = SHA256.Create(); var leaguesHash = Encoding.UTF8.GetString( algorithm.ComputeHash( Encoding.UTF8.GetBytes( JsonSerializer.Serialize(Leagues.Select(x => x.Id).ToList()) ) ) ); if (leaguesHash != settings.LeaguesHash) { settings.LeaguesHash = leaguesHash; settings.Save(); newLeagues = true; } if (string.IsNullOrEmpty(settings.LeagueId) || !Leagues.Any(x => x.Id == settings.LeagueId)) { settings.LeagueId = Leagues.FirstOrDefault().Id; settings.Save(); newLeagues = true; } if (newLeagues && OnNewLeagues != null) { OnNewLeagues.Invoke(); } }
public async Task OnInit() { Leagues = null; Leagues = await poeApiClient.Fetch <League>(); if (string.IsNullOrEmpty(configuration.LeagueId)) { configuration.LeagueId = Leagues.FirstOrDefault().Id; configuration.Save(); } }
public async Task UpdateQuery() { Results = new ObservableList <PriceItem>(); if (Filters != null) { var saveSettings = false; foreach (var filter in Filters.SelectMany(x => x.Filters).Where(x => x.Type == nameof(StatFilter))) { if (settings.Modifiers.Contains(filter.Id)) { if (!filter.Enabled) { saveSettings = true; settings.Modifiers.Remove(filter.Id); } } else { if (filter.Enabled) { saveSettings = true; settings.Modifiers.Add(filter.Id); } } } if (saveSettings) { settings.Save(); } } IsFetching = true; if (Item.Rarity == Rarity.Currency && staticDataService.GetId(Item) != null) { QueryResult = await tradeSearchService.SearchBulk(Item); } else { QueryResult = await tradeSearchService.Search(Item, GetFilters(), GetStats()); } IsFetching = false; if (QueryResult == null) { IsError = true; } else if (QueryResult.Result.Any()) { await LoadMoreData(); await LoadMoreData(); } UpdateCountString(); }
public void Save() { var keybindProperties = Settings.GetType().GetProperties(); foreach (var keybind in Keybinds) { keybindProperties.First(x => x.Name == keybind.Key).SetValue(Settings, keybind.Value); } ; AssignValues(Settings, sidekickSettings); uiLanguageProvider.SetLanguage(Settings.Language_UI); sidekickSettings.Save(); }
public void Save() { var keybindProperties = Settings.GetType().GetProperties(); foreach (var keybind in Keybinds) { keybindProperties.First(x => x.Name == keybind.Key).SetValue(Settings, keybind.Value); } ; var leagueHasChanged = Settings.LeagueId != sidekickSettings.LeagueId; AssignValues(Settings, sidekickSettings); uiLanguageProvider.SetLanguage(Settings.Language_UI); sidekickSettings.Save(); if (leagueHasChanged) { leagueDataService.LeagueChanged(); } }
private bool SetLanguage(string name) { var language = AvailableLanguages.Find(x => x.Name == name); if (language == null) { logger.Information("Couldn't find language matching {language}.", name); return(false); } if (Language == null || Language.DescriptionRarity != language.DescriptionRarity) { logger.Information("Changed active language support to {language}.", language.Name); Language = (ILanguage)Activator.CreateInstance(language.ImplementationType); settings.Language_Parser = name; settings.Save(); return(true); } return(false); }
public async Task UpdateQuery() { ShowRefresh = false; Results = new ObservableList <PriceItem>(); if (Filters != null) { var saveSettings = false; var settingMods = Item.Category switch { Category.Accessory => settings.AccessoryModifiers, Category.Armour => settings.ArmourModifiers, Category.Flask => settings.FlaskModifiers, Category.Jewel => settings.JewelModifiers, Category.Map => settings.MapModifiers, Category.Weapon => settings.WeaponModifiers, _ => new List <string>(), }; foreach (var filter in Filters.SelectMany(x => x.Filters).Where(x => x.Type == nameof(StatFilter))) { if (settingMods.Contains(filter.Id)) { if (!filter.Enabled) { saveSettings = true; settingMods.Remove(filter.Id); } } else { if (filter.Enabled) { saveSettings = true; settingMods.Add(filter.Id); } } } if (saveSettings) { switch (Item.Category) { case Category.Accessory: settings.AccessoryModifiers = settingMods; break; case Category.Armour: settings.ArmourModifiers = settingMods; break; case Category.Flask: settings.FlaskModifiers = settingMods; break; case Category.Jewel: settings.JewelModifiers = settingMods; break; case Category.Map: settings.MapModifiers = settingMods; break; case Category.Weapon: settings.WeaponModifiers = settingMods; break; } ; settings.Save(); } } IsFetching = true; if (Item.Rarity == Rarity.Currency && staticDataService.GetId(Item) != null) { QueryResult = await tradeSearchService.SearchBulk(Item); } else { QueryResult = await tradeSearchService.Search(Item, GetFilters(), GetStats()); } IsFetching = false; if (QueryResult == null) { IsError = true; } else if (QueryResult.Result.Any()) { await LoadMoreData(); await LoadMoreData(); } UpdateCountString(); }