diff --git a/src/SteamWebAPI2/Interfaces/DOTA2Econ.cs b/src/SteamWebAPI2/Interfaces/DOTA2Econ.cs index ca8b6cb..aadbc87 100644 --- a/src/SteamWebAPI2/Interfaces/DOTA2Econ.cs +++ b/src/SteamWebAPI2/Interfaces/DOTA2Econ.cs @@ -12,7 +12,8 @@ namespace SteamWebAPI2.Interfaces /// public class DOTA2Econ : IDOTA2Econ { - private ISteamWebInterface steamWebInterface; + private ISteamWebInterface dota2WebInterface; + private ISteamWebInterface dota2TestWebInterface; /// /// Default constructor established the Steam Web API key and initializes for subsequent method calls @@ -20,9 +21,11 @@ public class DOTA2Econ : IDOTA2Econ /// public DOTA2Econ(ISteamWebRequest steamWebRequest, ISteamWebInterface steamWebInterface = null) { - this.steamWebInterface = steamWebInterface == null + this.dota2WebInterface = steamWebInterface == null ? new SteamWebInterface("IEconDOTA2_570", steamWebRequest) : steamWebInterface; + + this.dota2TestWebInterface = new SteamWebInterface("IEconDOTA2_205790", steamWebRequest); } /// @@ -36,7 +39,7 @@ public async Task>> GetGame parameters.AddIfHasValue(language, "language"); - var steamWebResponse = await steamWebInterface.GetAsync("GetGameItems", 1, parameters); + var steamWebResponse = await dota2WebInterface.GetAsync("GetGameItems", 1, parameters); var steamWebResponseModel = AutoMapperConfiguration.Mapper.Map, ISteamWebResponse>>(steamWebResponse); @@ -58,7 +61,7 @@ public async Task>> GetHeroesAs parameters.AddIfHasValue(language, "language"); parameters.AddIfHasValue(itemizedOnlyValue, "itemizedonly"); - var steamWebResponse = await steamWebInterface.GetAsync("GetHeroes", 1, parameters); + var steamWebResponse = await dota2WebInterface.GetAsync("GetHeroes", 1, parameters); var steamWebResponseModel = AutoMapperConfiguration.Mapper.Map, ISteamWebResponse>>(steamWebResponse); @@ -76,7 +79,7 @@ public async Task>> GetRariti parameters.AddIfHasValue(language, "language"); - var steamWebResponse = await steamWebInterface.GetAsync("GetRarities", 1, parameters); + var steamWebResponse = await dota2WebInterface.GetAsync("GetRarities", 1, parameters); var steamWebResponseModel = AutoMapperConfiguration.Mapper.Map, ISteamWebResponse>>(steamWebResponse); @@ -94,11 +97,36 @@ public async Task> GetTournamentPrizePoolAsync(uint? lea parameters.AddIfHasValue(leagueId, "leagueid"); - var steamWebResponse = await steamWebInterface.GetAsync("GetTournamentPrizePool", 1, parameters); + var steamWebResponse = await dota2WebInterface.GetAsync("GetTournamentPrizePool", 1, parameters); var steamWebResponseModel = AutoMapperConfiguration.Mapper.Map, ISteamWebResponse>(steamWebResponse); return steamWebResponseModel; } + + /// + /// 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. + /// + /// + /// + /// + public async Task> GetItemIconPathAsync(string iconName, string iconType = "") + { + if (string.IsNullOrEmpty(iconName)) + { + throw new ArgumentNullException("iconName"); + } + + List parameters = new List(); + + parameters.AddIfHasValue(iconName, "iconname"); + parameters.AddIfHasValue(iconType, "icontype"); + + var steamWebResponse = await dota2TestWebInterface.GetAsync("GetItemIconPath", 1, parameters); + + var steamWebResponseModel = AutoMapperConfiguration.Mapper.Map, ISteamWebResponse>(steamWebResponse); + + return steamWebResponseModel; + } } } \ No newline at end of file