private Group CreateTestGroup(RockContext rockContext, ElevatedSecurityLevel elevatedSecurityLevel) { var groupGuid = Guid.NewGuid(); var groupTypeGuid = Guid.NewGuid(); var group = new Group { Name = $"Test Group {groupGuid}", IsSecurityRole = true, Guid = groupGuid, ElevatedSecurityLevel = elevatedSecurityLevel, GroupType = new GroupType { Name = $"Test Group Type {groupTypeGuid}", Guid = groupTypeGuid, }, }; var groupService = new GroupService(rockContext); groupService.Add(group); rockContext.SaveChanges(); var groupTypeRole = new GroupTypeRole { Name = "Test Role", GroupTypeId = group.GroupTypeId }; var groupTypeRoleService = new GroupTypeRoleService(rockContext); groupTypeRoleService.Add(groupTypeRole); rockContext.SaveChanges(); return(group); }
private void CreateTestSecurityGroupWithPersonAsMember(int personId, ElevatedSecurityLevel securityLevel) { var securityGroupGuid = Guid.NewGuid(); var createGroupScript = $@"INSERT INTO [Group] ( [IsSystem] , [GroupTypeId] , [Name] , [IsSecurityRole] , [IsActive] , [Order] , [Guid] , [IsPublic] , [IsArchived] , [SchedulingMustMeetRequirements] , [AttendanceRecordRequiredForCheckIn] , [DisableScheduleToolboxAccess] , [DisableScheduling] , [ElevatedSecurityLevel] ) VALUES ( 0 --IsSystem , 1 --GroupTypeId , '{securityLevel} Security Group'--Name , 1--IsSecurityRole , 1--IsActive , 5--Order , '{securityGroupGuid}'--Guid , 0--IsPublic , 0--IsArchived , 0--SchedulingMustMeetRequirements , 0--AttendanceRecordRequiredForCheckIn , 1--DisableScheduleToolboxAccess , 1--DisableScheduling , ${securityLevel.ConvertToInt()}--ElevatedSecurityLevel )"; using (var rockContext = new RockContext()) { rockContext.Database.ExecuteSqlCommand(createGroupScript); var group = new GroupService(rockContext).Get(securityGroupGuid); var createGroupMemeberScript = $@"INSERT INTO [GroupMember] ( [IsSystem] , [GroupId] , [PersonId] , [GroupRoleId] , [GroupMemberStatus] , [Guid] , [IsNotified] , [IsArchived] , [CommunicationPreference] ) VALUES ( 0 --IsSystem , {group.Id}--GroupId , {personId}--PersonId , 1 --GroupRoleId , 1 --GroupMemberStatus , '{Guid.NewGuid()}'--Guid , 0--IsNotified , 0--IsArchived , 0--CommunicationPreference )"; rockContext.Database.ExecuteSqlCommand(createGroupMemeberScript); } }