Exemple #1
0
        /// <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);
            }
                );
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// <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 );
                        }
                );
        }
Exemple #4
0
        /// <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;
        }