コード例 #1
0
        public void AddAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider, bool flushPersistent)
        {
            Dictionary<Type, List<IAuxiliarySecurityAncestorProvider>> providers;
            if (!flushPersistent)
            {
                providers = _auxiliarySecurityAncestorProviders;
            }
            else
            {
                providers = _flushPersistentAuxiliarySecurityAncestorProviders;
            }

            List<IAuxiliarySecurityAncestorProvider> auxiliarySecurityAncestorProviders;

            if (providers.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders) == false)
            {
                auxiliarySecurityAncestorProviders = new List<IAuxiliarySecurityAncestorProvider>();
                providers.Add(entityTokenType, auxiliarySecurityAncestorProviders);
            }

            if (auxiliarySecurityAncestorProviders.Contains(auxiliarySecurityAncestorProvider))
            {
                throw new ArgumentNullException("The given auxiliarySecurityAncestorProvider has already been added with the given entity token");
            }

            auxiliarySecurityAncestorProviders.Add(auxiliarySecurityAncestorProvider);
        }
        public void AddAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider, bool flushPersistent)
        {
            Dictionary <Type, List <IAuxiliarySecurityAncestorProvider> > providers;

            if (!flushPersistent)
            {
                providers = _auxiliarySecurityAncestorProviders;
            }
            else
            {
                providers = _flushPersistentAuxiliarySecurityAncestorProviders;
            }

            List <IAuxiliarySecurityAncestorProvider> auxiliarySecurityAncestorProviders;

            if (providers.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders) == false)
            {
                auxiliarySecurityAncestorProviders = new List <IAuxiliarySecurityAncestorProvider>();
                providers.Add(entityTokenType, auxiliarySecurityAncestorProviders);
            }

            if (auxiliarySecurityAncestorProviders.Contains(auxiliarySecurityAncestorProvider))
            {
                throw new ArgumentNullException("The given auxiliarySecurityAncestorProvider has already been added with the given entity token");
            }

            auxiliarySecurityAncestorProviders.Add(auxiliarySecurityAncestorProvider);
        }
コード例 #3
0
        public void RemoveAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider)
        {
            List <IAuxiliarySecurityAncestorProvider> auxiliarySecurityAncestorProviders;

            if (_auxiliarySecurityAncestorProviders.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders))
            {
                auxiliarySecurityAncestorProviders.Remove(auxiliarySecurityAncestorProvider);
            }

            if (_flushPersistentAuxiliarySecurityAncestorProviders.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders))
            {
                auxiliarySecurityAncestorProviders.Remove(auxiliarySecurityAncestorProvider);
            }
        }
コード例 #4
0
        public void AddAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider, bool flushPersistent)
        {
            var providers = !flushPersistent
                ? _auxiliarySecurityAncestorProviders
                : _flushPersistentAuxiliarySecurityAncestorProviders;

            List <IAuxiliarySecurityAncestorProvider> auxiliarySecurityAncestorProviders;

            if (!providers.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders))
            {
                auxiliarySecurityAncestorProviders = new List <IAuxiliarySecurityAncestorProvider>();
                providers.Add(entityTokenType, auxiliarySecurityAncestorProviders);
            }

            if (auxiliarySecurityAncestorProviders.Contains(auxiliarySecurityAncestorProvider))
            {
                throw new ArgumentException("The given provider has already been added with the given entity token", nameof(auxiliarySecurityAncestorProvider));
            }

            auxiliarySecurityAncestorProviders.Add(auxiliarySecurityAncestorProvider);
        }
コード例 #5
0
        public void RemoveAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider)
        {
            List<IAuxiliarySecurityAncestorProvider> auxiliarySecurityAncestorProviders;

            if (_auxiliarySecurityAncestorProviders.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders))
            {
                auxiliarySecurityAncestorProviders.Remove(auxiliarySecurityAncestorProvider);
            }

            if (_flushPersistentAuxiliarySecurityAncestorProviders.TryGetValue(entityTokenType, out auxiliarySecurityAncestorProviders))
            {
                auxiliarySecurityAncestorProviders.Remove(auxiliarySecurityAncestorProvider);
            }
        }
コード例 #6
0
 /// <summary>
 /// Providers will get flushed on flushes
 /// </summary>
 /// <param name="entityTokenType"></param>
 /// <param name="auxiliarySecurityAncestorProvider"></param>
 /// <param name="flushPersistent"></param>
 public static void AddAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider, bool flushPersistent)
 {
     _implementation.AddAuxiliaryAncestorProvider(entityTokenType, auxiliarySecurityAncestorProvider, flushPersistent);
 }
コード例 #7
0
 /// <summary>
 /// Providers will get flushed on flushes
 /// </summary>
 /// <param name="entityTokenType"></param>
 /// <param name="auxiliarySecurityAncestorProvider"></param>
 public static void AddAuxiliaryAncestorProvider(Type entityTokenType, IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider)
 {
     _implementation.AddAuxiliaryAncestorProvider(entityTokenType, auxiliarySecurityAncestorProvider, false);
 }
コード例 #8
0
 // Overload
 /// <summary>
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="auxiliarySecurityAncestorProvider"></param>
 /// <param name="flushPersistent"></param>
 public static void AddAuxiliaryAncestorProvider <T>(IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider, bool flushPersistent)
     where T : EntityToken
 {
     AddAuxiliaryAncestorProvider(typeof(T), auxiliarySecurityAncestorProvider, flushPersistent);
 }
コード例 #9
0
 // Overload
 /// <summary>
 /// Providers will get flushed on flushes
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="auxiliarySecurityAncestorProvider"></param>
 public static void AddAuxiliaryAncestorProvider <T>(IAuxiliarySecurityAncestorProvider auxiliarySecurityAncestorProvider)
     where T : EntityToken
 {
     AddAuxiliaryAncestorProvider(typeof(T), auxiliarySecurityAncestorProvider);
 }