/// <summary> /// Get orders from Warframe Market. the query code can get from Sale Dictionary. /// </summary> /// <param name="option">Query paramters</param> /// <returns></returns> public async Task <OrderQueryResult> GetWarframeMarketOrdersAsync(WarframeMarketOrderQueryOption option) { if (string.IsNullOrEmpty(option.Code)) { throw new ArgumentNullException("The item code must be valid."); } string route = Statics.WM_ORDER_QUERY_URL + $"{option.Code}?platform={Platform}&pageSize={option.PageSize}" + $"&page={option.Page}&type={option.Type.ToString().ToLower()}&status={string.Join("&status=", option.OrderStatus.Select(p => p.ToString().ToLower()))}" + $"&minPrice={option.MinPrice}&maxPrice={option.MaxPrice}"; if (option.ModRank > 0) { route += $"&rank={option.ModRank}"; } var orders = await NetworkTools.GetEntityAsync <OrderQueryResult>(route, Token, ExceptionAction); return(orders); }
public WMInfoEx GetWMINfoEx(string searchword) { /*var header = new WebHeaderCollection(); * header.Add("Authorization", $"Bearer {Config.Instance.AcessToken}"); * var platform = Config.Instance.Platform.GetSymbols().First(); * if (Config.Instance.Platform == Platform.NS) * { * platform = "ns"; * } * var info = WebHelper.DownloadJson<WMInfoEx>($"https://api.richasy.cn/wfa/basic/{platform}/wm/{searchword}", header);*/ var option = new WarframeMarketOrderQueryOption { Code = searchword, OrderStatus = new List <WMOrderStatus> { WMOrderStatus.InGame, WMOrderStatus.Online } }; var orders = wfaClient.GetWarframeMarketOrdersAsync(option).Result; var result = new WMInfoEx { orders = orders, sale = api.Sale.First(s => s.code == searchword) }; return(result); }