private void UpdateUserGroupRefCache(UserGroupRef r, bool remove)
        {
            var key  = GetRefCacheKey(r.Tenant);
            var refs = Cache.Get <UserGroupRefStore>(key);

            if (!remove && refs != null)
            {
                lock (refs)
                {
                    refs[r.CreateKey()] = r;
                }
            }
            else
            {
                InvalidateCache();
            }
        }
        public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
        {
            r = service.SaveUserGroupRef(tenant, r);

            var key  = REFS + tenant.ToString();
            var refs = cache.Get(key) as IDictionary <string, UserGroupRef>;

            if (refs != null)
            {
                lock (refs)
                {
                    refs[r.CreateKey()] = r;
                }
            }
            else
            {
                InvalidateCache();
            }
            return(r);
        }
        public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
        {
            r = service.SaveUserGroupRef(tenant, r);

            var key = REFS + tenant.ToString();
            var refs = cache.Get(key) as IDictionary<string, UserGroupRef>;
            if (refs != null)
            {
                lock (refs)
                {
                    refs[r.CreateKey()] = r;
                }
            }
            else
            {
                InvalidateCache();
            }
            return r;
        }