void NotifyUpdated(IUpdateContextCodeFeature update, ICachedCodeFeatureState updatedFeatureState)
        {
            var updatedEvent = new ContextCodeFeatureStateCacheUpdated(update.ContextId, update.ContextKey, updatedFeatureState.Id,
                                                                       updatedFeatureState.Enabled, update.CommandId);

            _cacheUpdated.ForEach(x => x.OnNext(updatedEvent));
        }
        void UpdateExistingCodeFeature(IUpdateContextCodeFeature update, CodeFeatureId codeFeatureId,
                                       ICachedContextFeatureState existingContext,
                                       ICachedCodeFeatureState existingCode)
        {
            var featureState = new CachedCodeFeatureState(codeFeatureId, update.Enabled);

            bool updated = existingContext.TryUpdate(codeFeatureId, featureState, existingCode);

            if (updated)
            {
                NotifyUpdated(update, featureState);
            }
        }
Esempio n. 3
0
        public bool TryGetState <TFeature>(out ICachedCodeFeatureState featureState)
        {
            if (_cache.TryGetState(CodeFeatureMetadata <TFeature> .Id, out featureState))
            {
                return(true);
            }

            if (!_cache.DefaultState)
            {
                return(false);
            }

            featureState = new DefaultCodeFeatureState <TFeature>(true);
            return(true);
        }
 public bool TryAdd(CodeFeatureId codeFeatureId, ICachedCodeFeatureState featureState)
 {
     return _cache.TryAdd(codeFeatureId, featureState);
 }
 public bool TryUpdate(CodeFeatureId codeFeatureId, ICachedCodeFeatureState updated, ICachedCodeFeatureState existing)
 {
     return _cache.TryUpdate(codeFeatureId, updated, existing);
 }
 public bool TryGetCodeFeatureState(CodeFeatureId codeFeatureId, out ICachedCodeFeatureState featureState)
 {
     return _cache.TryGet(codeFeatureId, out featureState);
 }
 public bool TryAdd(CodeFeatureId codeFeatureId, ICachedCodeFeatureState featureState)
 {
     return(_cache.TryAdd(codeFeatureId, featureState));
 }
 public bool TryUpdate(CodeFeatureId codeFeatureId, ICachedCodeFeatureState updated, ICachedCodeFeatureState existing)
 {
     return(_cache.TryUpdate(codeFeatureId, updated, existing));
 }
 public bool TryGetCodeFeatureState(CodeFeatureId codeFeatureId, out ICachedCodeFeatureState featureState)
 {
     return(_cache.TryGet(codeFeatureId, out featureState));
 }
 public bool TryUpdate(CodeFeatureId id, ICachedCodeFeatureState featureState, ICachedCodeFeatureState previousFeatureState)
 {
     return(_cache.TryUpdate(id, featureState, previousFeatureState));
 }
 public bool TryUpdate(CodeFeatureId id, ICachedCodeFeatureState featureState, ICachedCodeFeatureState previousFeatureState)
 {
     return _cache.TryUpdate(id, featureState, previousFeatureState);
 }