@@ -11,15 +11,19 @@ namespace SteamWebAPI2.Interfaces
1111 /// <summary>
1212 /// Represents a Steam Web API interface endpoint located at IDOTA2Econ
1313 /// </summary>
14- public class DOTA2Econ : SteamWebInterface , IDOTA2Econ
14+ public class DOTA2Econ : IDOTA2Econ
1515 {
16+ private ISteamWebInterface steamWebInterface ;
17+
1618 /// <summary>
1719 /// Default constructor established the Steam Web API key and initializes for subsequent method calls
1820 /// </summary>
1921 /// <param name="steamWebApiKey"></param>
20- public DOTA2Econ ( string steamWebApiKey )
21- : base ( steamWebApiKey , "IEconDOTA2_570" )
22+ public DOTA2Econ ( string steamWebApiKey , ISteamWebInterface steamWebInterface = null )
2223 {
24+ this . steamWebInterface = steamWebInterface == null
25+ ? new SteamWebInterface ( steamWebApiKey , "IEconDOTA2_570" )
26+ : steamWebInterface ;
2327 }
2428
2529 /// <summary>
@@ -33,7 +37,7 @@ public async Task<IReadOnlyCollection<GameItemModel>> GetGameItemsAsync(string l
3337
3438 parameters . AddIfHasValue ( language , "language" ) ;
3539
36- var gameItems = await GetAsync < GameItemResultContainer > ( "GetGameItems" , 1 , parameters ) ;
40+ var gameItems = await steamWebInterface . GetAsync < GameItemResultContainer > ( "GetGameItems" , 1 , parameters ) ;
3741
3842 var gameItemModels = AutoMapperConfiguration . Mapper . Map < IList < GameItem > , IReadOnlyCollection < GameItemModel > > ( gameItems . Result . Items ) ;
3943
@@ -55,7 +59,7 @@ public async Task<IReadOnlyCollection<HeroModel>> GetHeroesAsync(string language
5559 parameters . AddIfHasValue ( language , "language" ) ;
5660 parameters . AddIfHasValue ( itemizedOnlyValue , "itemizedonly" ) ;
5761
58- var heroes = await GetAsync < HeroResultContainer > ( "GetHeroes" , 1 , parameters ) ;
62+ var heroes = await steamWebInterface . GetAsync < HeroResultContainer > ( "GetHeroes" , 1 , parameters ) ;
5963
6064 var heroModels = AutoMapperConfiguration . Mapper . Map < IList < Hero > , IReadOnlyCollection < HeroModel > > ( heroes . Result . Heroes ) ;
6165
@@ -80,7 +84,7 @@ public async Task<string> GetItemIconPathAsync(string iconName, string iconType
8084 parameters . AddIfHasValue ( iconName , "iconname" ) ;
8185 parameters . AddIfHasValue ( iconType , "icontype" ) ;
8286
83- var itemIconPath = await GetAsync < ItemIconPathResultContainer > ( "GetItemIconPath" , 1 , parameters ) ;
87+ var itemIconPath = await steamWebInterface . GetAsync < ItemIconPathResultContainer > ( "GetItemIconPath" , 1 , parameters ) ;
8488 return itemIconPath . Result . Path ;
8589 }
8690
@@ -95,7 +99,7 @@ public async Task<IReadOnlyCollection<RarityModel>> GetRaritiesAsync(string lang
9599
96100 parameters . AddIfHasValue ( language , "language" ) ;
97101
98- var raritiesContainer = await GetAsync < RarityResultContainer > ( "GetRarities" , 1 , parameters ) ;
102+ var raritiesContainer = await steamWebInterface . GetAsync < RarityResultContainer > ( "GetRarities" , 1 , parameters ) ;
99103
100104 var rarityModels = raritiesContainer . Result . Rarities . Select ( x => new RarityModel ( )
101105 {
@@ -121,7 +125,7 @@ public async Task<int> GetTournamentPrizePoolAsync(int? leagueId = null)
121125
122126 parameters . AddIfHasValue ( leagueId , "leagueid" ) ;
123127
124- var raritiesContainer = await GetAsync < PrizePoolResultContainer > ( "GetTournamentPrizePool" , 1 , parameters ) ;
128+ var raritiesContainer = await steamWebInterface . GetAsync < PrizePoolResultContainer > ( "GetTournamentPrizePool" , 1 , parameters ) ;
125129 return raritiesContainer . Result . PrizePool ;
126130 }
127131 }
0 commit comments