Exemple #1
0
        public static async Task <LocalizedValues <TModel> > GetByKeyAsync <TModel>(
            this ILocaleStore localeStore, string cultureCode, string key)
            where TModel : class, ILocalizedValue
        {
            if (String.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException(nameof(key));
            }

            foreach (var localeValue in await localeStore.GetResourcesAsync <TModel>(cultureCode))
            {
                foreach (var value in localeValue.Values)
                {
                    if (value.Name == key)
                    {
                        return(new LocalizedValues <TModel>(localeValue.Resource, new List <TModel>()
                        {
                            value
                        }));
                    }
                }
            }

            return(null);
        }
Exemple #2
0
        public static async Task <IEnumerable <LocalizedValues <TModel> > > GetResourcesAsync <TModel>(
            this ILocaleStore localeStore, string cultureCode)
            where TModel : class, ILocalizedValue
        {
            if (String.IsNullOrEmpty(cultureCode))
            {
                throw new ArgumentNullException(nameof(cultureCode));
            }

            var localeValues = new List <LocalizedValues <TModel> >();
            var locale       = await localeStore.GetResourcesAsync(cultureCode);

            if (locale != null)
            {
                foreach (var resource in locale.Where(r => r.Type == typeof(TModel)))
                {
                    localeValues.Add((LocalizedValues <TModel>)resource.Model);
                }
            }

            return(localeValues);
        }