public void AddGroup(Group group, GroupMemberService groupMemberService) { AssertionConcern.AssertArgumentNotNull(group, "Group must not be null."); AssertionConcern.AssertArgumentEquals(this.TenantId, group.TenantId, "Wrong tenant for this group."); AssertionConcern.AssertArgumentFalse(groupMemberService.IsMemberGroup(group, this.ToGroupMember()), "Group recurrsion."); if (this.GroupMembers.Add(group.ToGroupMember()) && !this.IsInternalGroup()) { DomainEventPublisher .Instance .Publish(new GroupGroupAdded( this.TenantId, this.Name, group.Name)); } }
public void AddGroup(Group group, GroupMemberService groupMemberService) { AssertionConcern.AssertArgumentNotNull(group, "Group must not be null."); AssertionConcern.AssertArgumentEquals(this.TenantId, group.TenantId, "Wrong tenant for this group."); AssertionConcern.AssertArgumentFalse(groupMemberService.IsMemberGroup(group, this.ToGroupMember()), "Group recurrsion."); if (this.GroupMembers.Add(group.ToGroupMember()) && !this.IsInternalGroup) { DomainEventPublisher .Instance .Publish(new GroupGroupAdded( this.TenantId, this.Name, group.Name)); } }
public void RemoveGroup(Group group) { AssertionConcern.AssertArgumentNotNull(group, "Group must not be null."); AssertionConcern.AssertArgumentEquals(this.TenantId, group.TenantId, "Wrong tenant for this group."); // not a nested remove, only direct member if (this.GroupMembers.Remove(group.ToGroupMember()) && !this.IsInternalGroup) { DomainEventPublisher .Instance .Publish(new GroupGroupRemoved( this.TenantId, this.Name, group.Name)); } }
public void RemoveGroup(Group group) { AssertionConcern.AssertArgumentNotNull(group, "Group must not be null."); AssertionConcern.AssertArgumentEquals(this.TenantId, group.TenantId, "Wrong tenant for this group."); // not a nested remove, only direct member if (this.GroupMembers.Remove(group.ToGroupMember()) && !this.IsInternalGroup()) { DomainEventPublisher .Instance .Publish(new GroupGroupRemoved( this.TenantId, this.Name, group.Name)); } }