public TarkovMarketClient(string apiKey, TarkovLanguage lang = TarkovLanguage.EN) { _lang = lang; _lang.EnsureValidLanguage(); _httpClientService = HttpClientService.CreateService(apiKey); }
public async Task <List <Item> > GetAllTarkovItem(TarkovLanguage lang = TarkovLanguage.None) { if (lang == TarkovLanguage.None) { lang = _lang; } var result = await _httpClientService.RequestAsync($"items/all?lang={lang}"); return(result); }
public static string GetLanguage(this TarkovLanguage language) { return(language switch { TarkovLanguage.EN => "en", TarkovLanguage.RU => "ru", TarkovLanguage.DE => "de", TarkovLanguage.FR => "fr", TarkovLanguage.ES => "es", TarkovLanguage.CN => "cn", _ => throw new ArgumentException("Invalid language enum value", nameof(language)) });
public async Task <Item> GetTarkovItemByNameAsync(string name, TarkovLanguage lang = TarkovLanguage.None) { if (lang == TarkovLanguage.None) { lang = _lang; } if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name)) { throw new ArgumentException("No item name specified.", nameof(name)); } var result = await _httpClientService.RequestAsync($"item?q={HttpUtility.UrlEncode(name)}&lang={lang}"); return(result.FirstOrDefault()); }