public async Task <(IEnumerable <TaskAggregate> list, bool fromCache)> GetUserTasksAsync(string userId)
        {
            string cacheKey        = string.Format(CacheSettings.UserTasksCacheKeyPattern, userId);
            var    cachedTasksList = await _cache.TryGetCachedValueAsync <IEnumerable <TaskAggregate> >(cacheKey);

            if (cachedTasksList != null)
            {
                return(cachedTasksList, true);
            }

            var tasksList = await _tasksRepository.GetUserTasksAsync(userId);

            await _cache.SetCacheValueAsync(cacheKey, tasksList, CacheSettings.UserTasksCacheLifetime);

            return(tasksList, false);
        }
 public Task <IEnumerable <TaskAggregate> > GetUserTasksAsync(string userId)
 {
     return(_tasksRepository.GetUserTasksAsync(userId));
 }