Esempio n. 1
0
        /// <summary>
        /// Gets a Steam Market item.
        /// </summary>
        /// <param name="appid">The Steam Game AppID</param>
        /// <param name="marketHashName">Market Hash Name of the Steam Market item</param>
        /// <param name="currency">Steam Market currency code</param>
        /// <returns>A Steam Market item model.</returns>
        public async Task <Item> GetItemAsync(int appid, string marketHashName, Currency.Code currency = Currency.Code.DEFAULT)
        {
            var request = GetItemMessage(appid, marketHashName, currency);

            var response = await _httpClient.SendAsync(request);

            return(JsonConvert.DeserializeObject <Item>(await response.Content.ReadAsStringAsync()));
        }
Esempio n. 2
0
        /// <summary>
        /// Creates the HttpRequestMessage for getting a Steam Market item.
        /// </summary>
        /// <param name="appid">The Steam Game AppID</param>
        /// <param name="marketHashName">Market Hash Name of the Steam Market item</param>
        /// <param name="currency">Steam Market currency code</param>
        /// <returns>A HttpRequestMessage.</returns>
        private HttpRequestMessage GetItemMessage(int appid, string marketHashName, Currency.Code currency = Currency.Code.DEFAULT)
        {
            var queryParams = new Dictionary <string, string>()
            {
                { "currency", currency.ToString() },
                { "appid", appid.ToString() },
                { "market_hash_name", marketHashName }
            };

            // TODO: The first query param will still have the &. Find a way to remove it.
            var uri = QueryHelpers.AddQueryString(_itemPriceBase, queryParams);

            HttpRequestMessage message = new HttpRequestMessage
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri(uri)
            };

            return(message);
        }