Пример #1
0
        public async Task <List <Events> > GetEventsRequestItemsAsync()
        {
            List <Events> eventRequestEntities = new List <Events>();

            eventRequestEntities = await eventRestClientEntities.GetAsync();

            return(eventRequestEntities);
        }
Пример #2
0
        public async Task <IActionResult> Index()
        {
            using (var client = _httpClientFactory.CreateAuthorizedClient())
            {
                var apiClient = new EventsClient(client);
                var response  = await apiClient.GetAsync();

                var list = response
                           .Result
                           .Select(x => new EventListItemViewModel
                {
                    Id          = x.Id,
                    Authors     = x.Authors,
                    Cast        = x.Cast,
                    Categories  = x.Categories.ToArray(),
                    DateTime    = x.DateTime,
                    Description = x.Description,
                    Duration    = x.Duration,
                    Title       = x.Title
                });

                var viewModel = new EventListViewModel(list);

                return(View(viewModel));
            }
        }
Пример #3
0
        public async Task <IActionResult> Index()
        {
            var eventsListCache = "eventsListCache";

            // Look for cache key.
            if (_cache.TryGetValue(eventsListCache, out EventListViewModel cachedViewModel))
            {
                return(View(cachedViewModel));
            }

            using (var client = _httpClientFactory.CreateAuthorizedClient())
            {
                var baseUrl   = Environment.GetEnvironmentVariable("TICKETTRADER_API_HOST");
                var apiClient = new EventsClient(baseUrl, client);
                var response  = await apiClient.GetAsync();

                var list = response
                           .Result
                           .Select(x => new EventListItemViewModel
                {
                    Id          = x.Id,
                    Authors     = x.Authors,
                    Cast        = x.Cast,
                    Categories  = x.Categories.ToArray(),
                    DateTime    = x.DateTime,
                    Description = x.Description,
                    Duration    = x.Duration,
                    Title       = x.Title
                });

                var viewModel = new EventListViewModel(list);


                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetSlidingExpiration(TimeSpan.FromMinutes(5));

                _cache.Set(eventsListCache, viewModel, cacheEntryOptions);

                return(View(viewModel));
            }
        }