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); } }
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); }