コード例 #1
0
        private async Task <List <SelectListItem> > GetNewsCategories()
        {
            try
            {
                var cacheCategory = _cache.Get <NewsCategories>("NewsCategories");
                if (cacheCategory != null)
                {
                    return(cacheCategory.Categories.Select(s => new SelectListItem {
                        Text = s.Name, Value = s.CategoryId.ToString()
                    }).ToList());
                }

                // var newsCategories = await _fileUploader.GetFileFromS3(@"News/NewsCategories.json");
                var newsCategories = _fileUploader.ReadFile("NewsCategories.json");
                if (newsCategories == null)
                {
                    return(new List <SelectListItem>());
                }

                var categoriesFromS3 = JsonConvert.DeserializeObject <NewsCategories>(newsCategories);
                categoriesFromS3.Categories = categoriesFromS3.Categories.OrderBy(c => c.Order).ToList();
                _cache.Set("NewsCategories", categoriesFromS3);

                return(categoriesFromS3.Categories.Select(s => new SelectListItem {
                    Text = s.Name, Value = s.CategoryId.ToString()
                }).ToList());
            }
            catch (Exception ex)
            {
                //ignore
            }

            return(new List <SelectListItem>());
        }