예제 #1
0
        public IEnumerable <ScheduleItemViewModel> Get([FromQuery] DateTime start, [FromQuery] DateTime end, [FromQuery] int[] tourneyIds)
        {
            logger.LogTrace("Getting schedule. Start: {0}. End: {1}. Tournaments count: {2}.", start, end, tourneyIds.Count());

            MethodInfo methodInfo = typeof(ScheduleHelper)
                                    .GetTypeInfo()
                                    .GetMethod(nameof(ScheduleHelper.GetTourneysShcedule));

            string cacheKey = cacheKeyGenerator.GetStringKey(methodInfo, start, end, tourneyIds);

            IEnumerable <ScheduleItemViewModel> result =
                cache.GetOrCreate(cacheKey, () => { return(ScheduleHelper.GetTourneysShcedule(start, end, tourneyIds)); });

            return(result);
        }