Exemplo n.º 1
0
        private static bool DeleteUserRoleInternal(int portalId, int userId, int roleId)
        {
            var  user     = UserController.GetUserById(portalId, userId);
            var  userRole = RoleController.Instance.GetUserRole(portalId, userId, roleId);
            bool delete   = true;
            var  portal   = PortalController.Instance.GetPortal(portalId);

            if (portal != null && userRole != null)
            {
                if (CanRemoveUserFromRole(portal, userId, roleId))
                {
                    provider.RemoveUserFromRole(portalId, user, userRole);
                    EventLogController.Instance.AddLog(userRole, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, string.Empty, EventLogController.EventLogType.ROLE_UPDATED);

                    // Remove the UserInfo from the Cache, as it has been modified
                    DataCache.ClearUserCache(portalId, user.Username);
                    Instance.ClearRoleCache(portalId);

                    EventManager.Instance.OnRoleLeft(new RoleEventArgs()
                    {
                        Role = Instance.GetRoleById(portalId, roleId), User = user
                    });
                }
                else
                {
                    delete = false;
                }
            }

            return(delete);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Completely remove all a user's roles for a specific portal. This method is used when
        /// anonymizing a user.
        /// </summary>
        /// <param name="user">User for which all roles must be deleted. The PortalId property
        /// is used to determine for which portal roles must be removed.</param>
        internal static void DeleteUserRoles(UserInfo user)
        {
            var ctrl      = new RoleController();
            var userRoles = ctrl.GetUserRoles(user, true);

            foreach (var ur in userRoles.Where(r => r.PortalID == user.PortalID))
            {
                provider.RemoveUserFromRole(user.PortalID, user, ur);
            }
        }
Exemplo n.º 3
0
        private static bool DeleteUserRoleInternal(int portalId, int userId, int roleId)
        {
            var  roleController   = new RoleController();
            var  user             = UserController.GetUserById(portalId, userId);
            var  userRole         = roleController.GetUserRole(portalId, userId, roleId);
            var  portalController = new PortalController();
            bool delete           = true;
            var  portal           = portalController.GetPortal(portalId);

            if (portal != null && userRole != null)
            {
                if (CanRemoveUserFromRole(portal, userId, roleId))
                {
                    provider.RemoveUserFromRole(portalId, user, userRole);
                    var objEventLog = new EventLogController();
                    objEventLog.AddLog(userRole, PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.ROLE_UPDATED);

                    //Remove the UserInfo from the Cache, as it has been modified
                    DataCache.ClearUserCache(portalId, user.Username);
                    TestableRoleController.Instance.ClearRoleCache(portalId);
                }
                else
                {
                    delete = false;
                }
            }
            return(delete);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Delete/Remove a User from a Role
        /// </summary>
        /// <param name="PortalId">The Id of the Portal</param>
        /// <param name="UserId">The Id of the User</param>
        /// <param name="RoleId">The Id of the Role</param>
        /// <returns></returns>
        public bool DeleteUserRole(int PortalId, int UserId, int RoleId)
        {
            UserInfo     objUser     = UserController.GetUser(PortalId, UserId, false);
            UserRoleInfo objUserRole = GetUserRole(PortalId, UserId, RoleId);

            PortalController objPortals = new PortalController();
            bool             blnDelete  = true;

            PortalInfo objPortal = objPortals.GetPortal(PortalId);

            if (objPortal != null)
            {
                if ((objPortal.AdministratorId != UserId || objPortal.AdministratorRoleId != RoleId) && objPortal.RegisteredRoleId != RoleId)
                {
                    provider.RemoveUserFromRole(PortalId, objUser, objUserRole);
                }
                else
                {
                    blnDelete = false;
                }
            }

            return(blnDelete);
        }