public async Task AddRoleAsync(AddRoleModel model)
        {
            var role = model.CopyProperties <Role>();

            role.ID = Guid.NewGuid();
            AddRoleWebMenus(role, model.WebMenuIDs);
            _authorityUnitOfWork.RegisterAdd(role);
            await _authorityUnitOfWork.CommitAsync();
        }
Beispiel #2
0
        public async Task AddRoleAsync(AddRoleModel model)
        {
            if (string.IsNullOrEmpty(model.Code))
            {
                throw new InvalidOperationException("代码为空");
            }
            if (string.IsNullOrEmpty(model.Name))
            {
                throw new InvalidOperationException("名称为空");
            }
            if (await _roleRepository.CountAsync(m => m.Code == model.Code) > 0)
            {
                throw new InvalidOperationException("代码重复");
            }
            var role = model.CopyProperties <Role>();

            AddRoleActionAuthorities(role, model.ActionAuthorityIDs);
            AddRoleAPIAuthorities(role, model.APIAuthorityIDs);
            AddRoleWebMenuAuthorities(role, model.WebMenuAuthorityIDs);
            _authorityUnitOfWork.RegisterAdd(role);
            await _authorityUnitOfWork.CommitAsync();

            _roleRepository.ClearCache();
        }