public async Task SetupDefaultPermissions() { if (await _permissionsService.ContainsDefaultPermissionsAsync()) { return; } var memberGroups = _intranetMemberGroupService.GetAll(); var permissionsList = memberGroups .Where(n => n.Name == MemberGroups.GroupWebMaster || n.Name == MemberGroups.GroupUiUser || n.Name == MemberGroups.GroupUiPublisher) .SelectMany(member => { switch (member.Name) { case MemberGroups.GroupWebMaster: return(SetupWebMasterMemberGroup(member)); case MemberGroups.GroupUiPublisher: return(SetupUiPublisherMemberGroup(member)); default: return(SetupUiUserMemberGroup(member)); } }) .ToArray(); await _permissionsService.SaveAsync(permissionsList); }