コード例 #1
0
 protected void ibSavePermission_Click(object sender, ImageClickEventArgs e)
 {
     try
     {
         Int32 userModuleID = Int32.Parse(hdnUserModuleID.Value);
         if (userModuleID > 0)
         {
             string selectedRolesView = GetListBoxText(lstSelectedRolesViewModule);
             string selectedRolesEdit = GetListBoxText(lstSelectedRolesEditModule);
             string EditUsers = GetModuleEditUsers();
             string ViewUsers = GetModuleViewUsers();
             UserModulesDataContext dbUserModule = new UserModulesDataContext(SystemSetting.SageFrameConnectionString);
             dbUserModule.sp_UserModulePermissionSave(userModuleID, selectedRolesView, selectedRolesEdit, ViewUsers, EditUsers, GetPortalID, GetUsername);
         }
         PageModulePanelVisibility(true, false, false);
         ShowMessage(SageMessageTitle.Notification.ToString(), GetSageMessage("PAGES", "ModulePermissionSaveSuccessfully"), "", SageMessageType.Success);
     }
     catch (Exception ex)
     {
         ProcessException(ex);
     }
 }
コード例 #2
0
        private void BindModuleData(int moduleID)
        {
            UserModulesDataContext dbUserModule = new UserModulesDataContext(SystemSetting.SageFrameConnectionString);
            var userModule = dbUserModule.sp_GetUserModulePermissionsByUserModuleID(moduleID, GetPortalID, GetUsername).SingleOrDefault();

            //To bind the Page Modules Permissions
            string[] arrPermittedRoles = userModule.RoleIDs.Split(',');
            string[] arrPermittedUsers = userModule.UserNames.Split(',');
            DataTable dtViewUsers = new DataTable();
            DataTable dtEditUsers = new DataTable();
            if (ViewState["dtViewUsersModules"] != null)
                dtViewUsers = (DataTable)ViewState["dtViewUsersModules"];
            if (ViewState["dtEditUsersModules"] != null)
                dtEditUsers = (DataTable)ViewState["dtEditUsersModules"];
            for (int i = 0; i < arrPermittedUsers.Length; i++)
            {
                string[] arrPermission = arrPermittedUsers[i].Split('#');
                if (arrPermission[0] == "1")
                {
                    DataRow newDR = dtViewUsers.NewRow();
                    newDR["Username"] = arrPermission[1];
                    dtViewUsers.Rows.Add(newDR);
                }
                else if (arrPermission[0] == "2")
                {
                    DataRow newDR = dtEditUsers.NewRow();
                    newDR["Username"] = arrPermission[1];
                    dtEditUsers.Rows.Add(newDR);
                }
            }
            ViewState["dtViewUsersModules"] = dtViewUsers;
            ViewState["dtEditUsersModules"] = dtEditUsers;
            BindUsernameGridModule("edit");
            BindUsernameGridModule("view");
            List<string> viewRoles = new List<string>();
            List<string> editRoles = new List<string>();

            for (int j = 0; j < arrPermittedRoles.Length; j++)
            {
                string[] arrPermission = arrPermittedRoles[j].Split('#');
                if (arrPermission[0] == "1")
                {
                    viewRoles.Add(arrPermission[1]);
                }
                else if (arrPermission[0] == "2")
                {
                    editRoles.Add(arrPermission[1]);
                }
            }

            lstSelectedRolesViewModule.Items.Clear();
            lstUnselectedViewRolesModule.Items.Clear();
            lstSelectedRolesEditModule.Items.Clear();
            lstUnselectedEditRolesModule.Items.Clear();

            var roles = dbRoles.sp_PortalRoleList(GetPortalID, true, GetUsername);
            foreach (var role in roles)
            {
                string roleName = role.RoleName;
                string roleID = role.RoleID.ToString();
                if (CheckPageModulePermissionHasRole(role.RoleName, viewRoles))
                {
                    if (SystemSetting.SYSTEM_ROLES.Contains(roleName, StringComparer.OrdinalIgnoreCase))
                    {
                        lstSelectedRolesViewModule.Items.Add(new ListItem(roleName, roleID));
                    }
                    else
                    {
                        string rolePrefix = GetPortalSEOName + "_";
                        roleName = roleName.Replace(rolePrefix, "");
                        lstSelectedRolesViewModule.Items.Add(new ListItem(roleName, roleID));
                    }
                }
                else
                {
                    if (SystemSetting.SYSTEM_ROLES.Contains(roleName, StringComparer.OrdinalIgnoreCase))
                    {
                        lstUnselectedViewRolesModule.Items.Add(new ListItem(roleName, roleID));
                    }
                    else
                    {
                        string rolePrefix = GetPortalSEOName + "_";
                        roleName = roleName.Replace(rolePrefix, "");
                        lstUnselectedViewRolesModule.Items.Add(new ListItem(roleName, roleID));
                    }
                }
                if (CheckPageModulePermissionHasRole(role.RoleName, editRoles))
                {
                    if (SystemSetting.SYSTEM_ROLES.Contains(roleName, StringComparer.OrdinalIgnoreCase))
                    {
                        lstSelectedRolesEditModule.Items.Add(new ListItem(roleName, roleID));
                    }
                    else
                    {
                        string rolePrefix = GetPortalSEOName + "_";
                        roleName = roleName.Replace(rolePrefix, "");
                        lstSelectedRolesEditModule.Items.Add(new ListItem(roleName, roleID));
                    }
                }
                else
                {
                    if (SystemSetting.SYSTEM_ROLES.Contains(roleName, StringComparer.OrdinalIgnoreCase))
                    {
                        lstUnselectedEditRolesModule.Items.Add(new ListItem(roleName, roleID));
                    }
                    else
                    {
                        string rolePrefix = GetPortalSEOName + "_";
                        roleName = roleName.Replace(rolePrefix, "");
                        lstUnselectedEditRolesModule.Items.Add(new ListItem(roleName, roleID));
                    }
                }
            }
            PageModulePanelVisibility(false, false, true);
        }