1- using Steam . Models . DOTA2 ;
1+ using AutoMapper ;
22using SteamWebAPI2 . Models . DOTA2 ;
33using SteamWebAPI2 . Utilities ;
44using System ;
@@ -12,15 +12,18 @@ namespace SteamWebAPI2.Interfaces
1212 /// </summary>
1313 public class DOTA2Econ : IDOTA2Econ
1414 {
15- private ISteamWebInterface dota2WebInterface ;
16- private ISteamWebInterface dota2TestWebInterface ;
15+ private readonly ISteamWebInterface dota2WebInterface ;
16+ private readonly ISteamWebInterface dota2TestWebInterface ;
17+ private readonly IMapper mapper ;
1718
1819 /// <summary>
1920 /// Default constructor established the Steam Web API key and initializes for subsequent method calls
2021 /// </summary>
2122 /// <param name="steamWebApiKey"></param>
22- public DOTA2Econ ( ISteamWebRequest steamWebRequest , ISteamWebInterface steamWebInterface = null )
23+ public DOTA2Econ ( IMapper mapper , ISteamWebRequest steamWebRequest , ISteamWebInterface steamWebInterface = null )
2324 {
25+ this . mapper = mapper ?? throw new ArgumentNullException ( nameof ( mapper ) ) ;
26+
2427 this . dota2WebInterface = steamWebInterface == null
2528 ? new SteamWebInterface ( "IEconDOTA2_570" , steamWebRequest )
2629 : steamWebInterface ;
@@ -41,7 +44,7 @@ public DOTA2Econ(ISteamWebRequest steamWebRequest, ISteamWebInterface steamWebIn
4144
4245 var steamWebResponse = await dota2WebInterface . GetAsync < GameItemResultContainer > ( "GetGameItems" , 1 , parameters ) ;
4346
44- var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < GameItemResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . GameItem > > > ( steamWebResponse ) ;
47+ var steamWebResponseModel = mapper . Map < ISteamWebResponse < GameItemResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . GameItem > > > ( steamWebResponse ) ;
4548
4649 return steamWebResponseModel ;
4750 }
@@ -63,7 +66,7 @@ public DOTA2Econ(ISteamWebRequest steamWebRequest, ISteamWebInterface steamWebIn
6366
6467 var steamWebResponse = await dota2WebInterface . GetAsync < HeroResultContainer > ( "GetHeroes" , 1 , parameters ) ;
6568
66- var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < HeroResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . Hero > > > ( steamWebResponse ) ;
69+ var steamWebResponseModel = mapper . Map < ISteamWebResponse < HeroResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . Hero > > > ( steamWebResponse ) ;
6770
6871 return steamWebResponseModel ;
6972 }
@@ -81,7 +84,7 @@ public DOTA2Econ(ISteamWebRequest steamWebRequest, ISteamWebInterface steamWebIn
8184
8285 var steamWebResponse = await dota2WebInterface . GetAsync < RarityResultContainer > ( "GetRarities" , 1 , parameters ) ;
8386
84- var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < RarityResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . Rarity > > > ( steamWebResponse ) ;
87+ var steamWebResponseModel = mapper . Map < ISteamWebResponse < RarityResultContainer > , ISteamWebResponse < IReadOnlyCollection < Steam . Models . DOTA2 . Rarity > > > ( steamWebResponse ) ;
8588
8689 return steamWebResponseModel ;
8790 }
@@ -99,7 +102,7 @@ public async Task<ISteamWebResponse<uint>> GetTournamentPrizePoolAsync(uint? lea
99102
100103 var steamWebResponse = await dota2WebInterface . GetAsync < PrizePoolResultContainer > ( "GetTournamentPrizePool" , 1 , parameters ) ;
101104
102- var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < PrizePoolResultContainer > , ISteamWebResponse < uint > > ( steamWebResponse ) ;
105+ var steamWebResponseModel = mapper . Map < ISteamWebResponse < PrizePoolResultContainer > , ISteamWebResponse < uint > > ( steamWebResponse ) ;
103106
104107 return steamWebResponseModel ;
105108 }
@@ -124,7 +127,7 @@ public async Task<ISteamWebResponse<string>> GetItemIconPathAsync(string iconNam
124127
125128 var steamWebResponse = await dota2TestWebInterface . GetAsync < ItemIconPathResultContainer > ( "GetItemIconPath" , 1 , parameters ) ;
126129
127- var steamWebResponseModel = AutoMapperConfiguration . Mapper . Map < ISteamWebResponse < ItemIconPathResultContainer > , ISteamWebResponse < string > > ( steamWebResponse ) ;
130+ var steamWebResponseModel = mapper . Map < ISteamWebResponse < ItemIconPathResultContainer > , ISteamWebResponse < string > > ( steamWebResponse ) ;
128131
129132 return steamWebResponseModel ;
130133 }
0 commit comments