public BulkQueryRequest(Item item, IItemStaticDataProvider staticDataProvider) { Exchange.Status.Option = StatusType.Online; Exchange.Want.Add(staticDataProvider.GetId(item)); Exchange.Have.Add("chaos"); }
public Task <Uri> Handle(GetTradeUriQuery request, CancellationToken cancellationToken) { Uri baseUri; if (request.Item.Rarity == Rarity.Currency && itemStaticDataProvider.GetId(request.Item) != null) { baseUri = gameLanguageProvider.Language.PoeTradeExchangeBaseUrl; } else { baseUri = gameLanguageProvider.Language.PoeTradeSearchBaseUrl; } return(Task.FromResult(new Uri(baseUri, $"{settings.LeagueId}/{request.QueryId}"))); }
public async Task UpdateQuery() { ShowRefresh = false; Results = new ObservableList <PriceItem>(); if (Filters != null) { var settingMods = Item.Category switch { Category.Accessory => settings.Price_Mods_Accessory, Category.Armour => settings.Price_Mods_Armour, Category.Flask => settings.Price_Mods_Flask, Category.Jewel => settings.Price_Mods_Jewel, Category.Map => settings.Price_Mods_Map, Category.Weapon => settings.Price_Mods_Weapon, _ => new List <string>(), }; foreach (var filter in Filters.SelectMany(x => x.Filters)) { if (settingMods.Contains(filter.Id)) { if (!filter.Enabled) { settingMods.Remove(filter.Id); } } else { if (filter.Enabled) { settingMods.Add(filter.Id); } } } await mediator.Send(new SaveSettingsCommand(settings)); } IsFetching = true; if (Item.Rarity == Rarity.Currency && itemStaticDataProvider.GetId(Item) != null) { QueryResult = await tradeSearchService.SearchBulk(Item); } else { QueryResult = await tradeSearchService.Search(Item, GetPropertyFilters(), GetModifierFilters()); } IsFetching = false; if (QueryResult == null) { IsError = true; } else if (QueryResult.Result.Any()) { await LoadMoreData(); await LoadMoreData(); } if (!string.IsNullOrEmpty(QueryResult.Id)) { Uri = await mediator.Send(new GetTradeUriQuery(Item, QueryResult.Id)); } else { Uri = null; } UpdateCountString(); }