/// <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);
        }
Beispiel #2
0
        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);
        }