コード例 #1
0
        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);
        }