Exemple #1
0
        /// <inheritdoc />
        public async Task <ProfileIconListStatic> GetAllAsync(string version, Language language = Language.en_US)
        {
            var cacheKey = ProfileIconsCacheKey + language + version;
            var wrapper  = cache.Get <string, ProfileIconsStaticWrapper>(cacheKey);

            if (wrapper != null && language == wrapper.Language && version == wrapper.Version)
            {
                return(wrapper.ProfileIconListStatic);
            }
            var json = await requester.CreateGetRequestAsync(Host, CreateUrl(version, language, ProfileIconsDataKey)).ConfigureAwait(false);

            var profileIcons = JsonConvert.DeserializeObject <ProfileIconListStatic>(json);

            wrapper = new ProfileIconsStaticWrapper(profileIcons, language, version);
            cache.Add(cacheKey, wrapper, SlidingExpirationTime);
            return(wrapper.ProfileIconListStatic);
        }
Exemple #2
0
        public async Task <ProfileIconListStatic> GetProfileIconsAsync(Region region, Language language = Language.en_US)
        {
            var wrapper = cache.Get <string, ProfileIconsStaticWrapper>(ProfileIconsCacheKey);

            if (wrapper != null && language == wrapper.Language)
            {
                return(wrapper.ProfileIconListStatic);
            }
            var json = await requester.CreateGetRequestAsync(StaticDataRootUrl + ProfileIconsUrl, region,
                                                             new List <string>
            {
                $"locale={language}",
            }).ConfigureAwait(false);

            var profileIcons = JsonConvert.DeserializeObject <ProfileIconListStatic>(json);

            wrapper = new ProfileIconsStaticWrapper(profileIcons, language);
            cache.Add(ProfileIconsCacheKey, wrapper, SlidingExpirationTime);
            return(wrapper.ProfileIconListStatic);
        }