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);
        }
示例#3
0
        public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
        {
            if (r == null)
            {
                throw new ArgumentNullException("userGroupRef");
            }

            r.LastModified = DateTime.UtcNow;
            r.Tenant       = tenant;

            var i = Insert("core_usergroup", tenant)
                    .InColumnValue("userid", r.UserId.ToString())
                    .InColumnValue("groupid", r.GroupId.ToString())
                    .InColumnValue("ref_type", (int)r.RefType)
                    .InColumnValue("removed", r.Removed)
                    .InColumnValue("last_modified", r.LastModified);

            ExecNonQuery(i);

            return(r);
        }
 public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
 {
     r = service.SaveUserGroupRef(tenant, r);
     InvalidateCache();
     return(r);
 }
 public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
 {
     r = Service.SaveUserGroupRef(tenant, r);
     CacheUserGroupRefItem.Publish(r, CacheNotifyAction.InsertOrUpdate);
     return(r);
 }
示例#6
0
        public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
        {
            if (r == null) throw new ArgumentNullException("userGroupRef");

            r.LastModified = DateTime.UtcNow;
            r.Tenant = tenant;

            var i = Insert("core_usergroup", tenant)
                .InColumnValue("userid", r.UserId.ToString())
                .InColumnValue("groupid", r.GroupId.ToString())
                .InColumnValue("ref_type", (int)r.RefType)
                .InColumnValue("removed", r.Removed)
                .InColumnValue("last_modified", r.LastModified);
            var u = Update("core_user", tenant).Set("last_modified", r.LastModified).Where("id", r.UserId.ToString());

            ExecBatch(i, u);

            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;
        }
 public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
 {
     r = service.SaveUserGroupRef(tenant, r);
     InvalidateCache();
     return r;
 }
 public UserGroupRef SaveUserGroupRef(int tenant, UserGroupRef r)
 {
     r = service.SaveUserGroupRef(tenant, r);
     cacheNotify.Publish((UserGroupRefCacheItem)r, CacheNotifyAction.InsertOrUpdate);
     return(r);
 }