public List <dynamic> GetSubscriptions() { var cachedSubscribers = _cache.Get(_allSubscribersCacheKey) as List <dynamic>; if (cachedSubscribers != null) { return(cachedSubscribers); } var subscribers = StorageMethod.GetAllSubscriptions(); if (subscribers != null && subscribers.All(x => x.Version == VersionNumber)) { var subscribersFromStroage = subscribers.ToDynamics(); _cache.Add(_allSubscribersCacheKey, subscribersFromStroage, MyCachePriority.Default); return(subscribersFromStroage); } subscribers = JsonConvert.DeserializeObject <List <SubscriberModel> >(_webClientService.GetSubscriptions()); if (subscribers == null) { return(null); } StorageMethod.AddOrUpdateSubscribers(subscribers); var all = subscribers.ToDynamics(); _cache.Add(_allSubscribersCacheKey, all, MyCachePriority.Default); return(all); }