/// <summary> /// Grants the system permission. /// </summary> /// <param name="systemPermission">The system permission.</param> public virtual void GrantSystemPermission(SystemPermission systemPermission) { Check.IsNotNull(systemPermission, "System permission is required."); DomainRuleEngine.CreateRuleEngine <SystemRole, SystemPermission> (this, () => GrantSystemPermission) .WithContext(systemPermission) .Execute( () => { var systemRolePermission = new SystemRolePermission(this, systemPermission); _grantedSystemPermissions.Add(systemRolePermission); NotifyItemAdded(() => GrantedSystemPermissions, systemRolePermission); } ); }
/// <summary> /// Clones the current system role. /// </summary> /// <returns>The cloned system role.</returns> public virtual SystemRole Clone() { var systemRoleFactory = IoC.CurrentContainer.Resolve <ISystemRoleFactory> (); var clonedSystemRole = systemRoleFactory.CreateSystemRole("Copy of " + Name, Description, SystemRoleType); foreach (var permissionLink in _grantedSystemPermissions) { var systemRolePermission = new SystemRolePermission(clonedSystemRole, permissionLink.SystemPermission); clonedSystemRole._grantedSystemPermissions.Add(systemRolePermission); } foreach (var roleLink in _grantedSystemRoleRelationships) { var systemRoleRelationship = new SystemRoleRelationship(roleLink.GrantedSystemRole, clonedSystemRole); clonedSystemRole._grantedSystemRoleRelationships.Add(systemRoleRelationship); } return(clonedSystemRole); }
/// <summary> /// Grants the system permission. /// </summary> /// <param name="systemPermission">The system permission.</param> public virtual void GrantSystemPermission( SystemPermission systemPermission ) { Check.IsNotNull ( systemPermission, "System permission is required." ); DomainRuleEngine.CreateRuleEngine<SystemRole, SystemPermission> ( this, () => GrantSystemPermission ) .WithContext ( systemPermission ) .Execute ( () => { var systemRolePermission = new SystemRolePermission ( this, systemPermission ); _grantedSystemPermissions.Add ( systemRolePermission ); NotifyItemAdded ( () => GrantedSystemPermissions, systemRolePermission ); } ); }
/// <summary> /// Clones the current system role. /// </summary> /// <returns>The cloned system role.</returns> public virtual SystemRole Clone() { var systemRoleFactory = IoC.CurrentContainer.Resolve<ISystemRoleFactory> (); var clonedSystemRole = systemRoleFactory.CreateSystemRole ( "Copy of " + Name, Description, SystemRoleType ); foreach ( var permissionLink in _grantedSystemPermissions) { var systemRolePermission = new SystemRolePermission ( clonedSystemRole, permissionLink.SystemPermission ); clonedSystemRole._grantedSystemPermissions.Add ( systemRolePermission ); } foreach ( var roleLink in _grantedSystemRoleRelationships) { var systemRoleRelationship = new SystemRoleRelationship ( roleLink.GrantedSystemRole, clonedSystemRole ); clonedSystemRole._grantedSystemRoleRelationships.Add(systemRoleRelationship); } return clonedSystemRole; }