@@ -12,17 +12,20 @@ namespace SteamWebAPI2.Interfaces
1212 /// </summary>
1313 public class DOTA2Econ : IDOTA2Econ
1414 {
15- private ISteamWebInterface steamWebInterface ;
15+ private ISteamWebInterface dota2WebInterface ;
16+ private ISteamWebInterface dota2TestWebInterface ;
1617
1718 /// <summary>
1819 /// Default constructor established the Steam Web API key and initializes for subsequent method calls
1920 /// </summary>
2021 /// <param name="steamWebApiKey"></param>
2122 public DOTA2Econ ( ISteamWebRequest steamWebRequest , ISteamWebInterface steamWebInterface = null )
2223 {
23- this . steamWebInterface = steamWebInterface == null
24+ this . dota2WebInterface = steamWebInterface == null
2425 ? new SteamWebInterface ( "IEconDOTA2_570" , steamWebRequest )
2526 : steamWebInterface ;
27+
28+ this . dota2TestWebInterface = new SteamWebInterface ( "IEconDOTA2_205790" , steamWebRequest ) ;
2629 }
2730
2831 /// <summary>
@@ -36,7 +39,7 @@ public async Task<ISteamWebResponse<IReadOnlyCollection<GameItemModel>>> GetGame
3639
3740 parameters . AddIfHasValue ( language , "language" ) ;
3841
39- var steamWebResponse = await steamWebInterface . GetAsync < GameItemResultContainer > ( "GetGameItems" , 1 , parameters ) ;
42+ var steamWebResponse = await dota2WebInterface . GetAsync < GameItemResultContainer > ( "GetGameItems" , 1 , parameters ) ;
4043
4144 var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < GameItemResultContainer > , ISteamWebResponse < IReadOnlyCollection < GameItemModel > > > ( steamWebResponse ) ;
4245
@@ -58,7 +61,7 @@ public async Task<ISteamWebResponse<IReadOnlyCollection<HeroModel>>> GetHeroesAs
5861 parameters . AddIfHasValue ( language , "language" ) ;
5962 parameters . AddIfHasValue ( itemizedOnlyValue , "itemizedonly" ) ;
6063
61- var steamWebResponse = await steamWebInterface . GetAsync < HeroResultContainer > ( "GetHeroes" , 1 , parameters ) ;
64+ var steamWebResponse = await dota2WebInterface . GetAsync < HeroResultContainer > ( "GetHeroes" , 1 , parameters ) ;
6265
6366 var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < HeroResultContainer > , ISteamWebResponse < IReadOnlyCollection < HeroModel > > > ( steamWebResponse ) ;
6467
@@ -76,7 +79,7 @@ public async Task<ISteamWebResponse<IReadOnlyCollection<RarityModel>>> GetRariti
7679
7780 parameters . AddIfHasValue ( language , "language" ) ;
7881
79- var steamWebResponse = await steamWebInterface . GetAsync < RarityResultContainer > ( "GetRarities" , 1 , parameters ) ;
82+ var steamWebResponse = await dota2WebInterface . GetAsync < RarityResultContainer > ( "GetRarities" , 1 , parameters ) ;
8083
8184 var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < RarityResultContainer > , ISteamWebResponse < IReadOnlyCollection < RarityModel > > > ( steamWebResponse ) ;
8285
@@ -94,11 +97,36 @@ public async Task<ISteamWebResponse<uint>> GetTournamentPrizePoolAsync(uint? lea
9497
9598 parameters . AddIfHasValue ( leagueId , "leagueid" ) ;
9699
97- var steamWebResponse = await steamWebInterface . GetAsync < PrizePoolResultContainer > ( "GetTournamentPrizePool" , 1 , parameters ) ;
100+ var steamWebResponse = await dota2WebInterface . GetAsync < PrizePoolResultContainer > ( "GetTournamentPrizePool" , 1 , parameters ) ;
98101
99102 var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < PrizePoolResultContainer > , ISteamWebResponse < uint > > ( steamWebResponse ) ;
100103
101104 return steamWebResponseModel ;
102105 }
106+
107+ /// <summary>
108+ /// It is important to note that the "items" this method is referring to are not the in game items. These are actually cosmetic items found in the DOTA 2 store and workshop.
109+ /// </summary>
110+ /// <param name="iconName"></param>
111+ /// <param name="iconType"></param>
112+ /// <returns></returns>
113+ public async Task < ISteamWebResponse < string > > GetItemIconPathAsync ( string iconName , string iconType = "" )
114+ {
115+ if ( string . IsNullOrEmpty ( iconName ) )
116+ {
117+ throw new ArgumentNullException ( "iconName" ) ;
118+ }
119+
120+ List < SteamWebRequestParameter > parameters = new List < SteamWebRequestParameter > ( ) ;
121+
122+ parameters . AddIfHasValue ( iconName , "iconname" ) ;
123+ parameters . AddIfHasValue ( iconType , "icontype" ) ;
124+
125+ var steamWebResponse = await dota2TestWebInterface . GetAsync < ItemIconPathResultContainer > ( "GetItemIconPath" , 1 , parameters ) ;
126+
127+ var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < ItemIconPathResultContainer > , ISteamWebResponse < string > > ( steamWebResponse ) ;
128+
129+ return steamWebResponseModel ;
130+ }
103131 }
104132}
0 commit comments