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>()); }