示例#1
0
 public void RemoveObject(BaseContext context, Log.LogicTransaction ltr = null)
 {
     if (context != null)
     {
         context.Audit.Remove(this);
     }
 }
示例#2
0
 public void RemoveObject(BaseContext context, Log.LogicTransaction ltr = null)
 {
     if (context == null)
     {
         return;
     }
     context.ActiveUsers.Remove(this);
 }
示例#3
0
        public void AddUser(DbUser user, BaseContext context, Log.LogicTransaction ltr = null)
        {
            if (Users == null)
            {
                Users = new List <DbUserGroupMember>();
            }
            if (Users.FirstOrDefault(u => u.User == user || String.Equals(u.UserId, user.Iid, StringComparison.OrdinalIgnoreCase)) != null)
            {
                return;
            }
            var map = new DbUserGroupMember(context)
            {
                User  = user,
                Group = this
            };

            this.Users.Add(map);
            if (ltr != null)
            {
                ltr.AddCreatedObject(map, context);
            }
        }
示例#4
0
        public void ResetMembersExplicitRights(BaseContext context, Log.LogicTransaction ltr = null, String subjectId = null)
        {
            IEnumerable <DbRights> rightsToDelete = from gm in context.GroupMembers
                                                    join us in context.Users on gm.UserId equals us.Iid
                                                    join ace in context.AllRights on us.Iid equals ace.ObjectId
                                                    where gm.GroupId.Equals(this.Iid, StringComparison.OrdinalIgnoreCase)
                                                    select ace;

            if (!String.IsNullOrEmpty(subjectId))
            {
                rightsToDelete = rightsToDelete.Where(ace => ace.SubjectId.Equals(subjectId, StringComparison.OrdinalIgnoreCase));
            }
            var aceToDel = rightsToDelete.ToList();

            if (aceToDel.Count > 0)
            {
                var _ltr = ltr ?? context.BeginLtr("RESET_RIGHTS");
                aceToDel.ForEach(ace => ace.RemoveObject(context, ltr));
                if (ltr == null)
                {
                    _ltr.Commit(context);
                }
            }
        }
示例#5
0
 protected override void RemoveLinkedCollections(BaseContext context, Log.LogicTransaction ltr)
 {
     RemoveChildCollection(context, this.Users, ltr);
 }
示例#6
0
 protected override void RemoveLinkedCollections(BaseContext context, Log.LogicTransaction ltr)
 {
     RemoveChildCollection(context, ActiveLogins, ltr);
     RemoveChildCollection(context, Audit, ltr);
     RemoveChildCollection(context, Groups, ltr);
 }