private void BindUserRoleRightsData() { try { DataTable dt = new DataTable(); dt = DBAccess.getUserRoleRightsDetails(ddlCompany_ForUserRoleRights.SelectedValue == null?"":ddlCompany_ForUserRoleRights.SelectedValue.ToString(), ddlRole_ForUserRoleRights.SelectedValue == null?"":ddlRole_ForUserRoleRights.SelectedValue.ToString()); List <UserRoleData> list = new List <UserRoleData>(); UserRoleData data = new UserRoleData(); if (dt.Columns.Count > 3) { data = new UserRoleData(); data.CompanyID = "Company ID"; data.Module = "Module"; data.Screen = "Screen"; List <UserRoleRightsData> listRights = new List <UserRoleRightsData>(); UserRoleRightsData rights = null; for (int col = 3; col < dt.Columns.Count; col++) { rights = new UserRoleRightsData(); rights.RoleID = dt.Columns[col].ColumnName; rights.HeaderTemplateVisibility = "block"; rights.DataTemplateVisibility = "none"; int readCount = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "Read").Count(); int modifyCount = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "Modify").Count(); int noneCount = dt.AsEnumerable().Where(k => k.Field <string>(rights.RoleID) == "None").Count(); int tableCount = dt.Rows.Count; rights.IsModifyChcked = false; rights.IsReadChecked = false; rights.IsNoneChacked = false; if (readCount == tableCount) { rights.IsReadChecked = true; } else if (modifyCount == tableCount) { rights.IsModifyChcked = true; } else if (noneCount == tableCount) { rights.IsNoneChacked = true; } listRights.Add(rights); } data.UserRightValue = listRights; list.Add(data); } for (int row = 0; row < dt.Rows.Count; row++) { data = new UserRoleData(); data.CompanyID = dt.Rows[row]["CompanyID"].ToString(); data.Module = dt.Rows[row]["Module"].ToString(); data.Screen = dt.Rows[row]["Screen"].ToString(); List <UserRoleRightsData> listRights = new List <UserRoleRightsData>(); UserRoleRightsData rights = null; for (int col = 3; col < dt.Columns.Count; col++) { rights = new UserRoleRightsData(); rights.RoleID = dt.Columns[col].ColumnName; rights.HeaderTemplateVisibility = "none"; rights.DataTemplateVisibility = "block"; if (dt.Rows[row][col].ToString() == "Read") { rights.IsModifyChcked = false; rights.IsReadChecked = true; rights.IsNoneChacked = false; } else if (dt.Rows[row][col].ToString() == "Modify") { rights.IsModifyChcked = true; rights.IsReadChecked = false; rights.IsNoneChacked = false; } else { rights.IsModifyChcked = false; rights.IsReadChecked = false; rights.IsNoneChacked = true; } listRights.Add(rights); } data.UserRightValue = listRights; list.Add(data); } lvUserRoleRightsDetails.DataSource = list; lvUserRoleRightsDetails.DataBind(); } catch (Exception ex) { } }
private void BindUserRightsExceptionData() { try { string selectedUserIdList = ""; for (int i = 0; i < gvUserIDList.Rows.Count; i++) { if ((gvUserIDList.Rows[i].FindControl("chkUserIDChecked") as CheckBox).Checked) { if (selectedUserIdList == "") { selectedUserIdList += "'" + (gvUserIDList.Rows[i].FindControl("lblUserID") as Label).Text + "'"; } else { selectedUserIdList += ",'" + (gvUserIDList.Rows[i].FindControl("lblUserID") as Label).Text + "'"; } } } List <UserRoleData> list = new List <UserRoleData>(); if (selectedUserIdList != "") { DataTable userRightsDt = DBAccess.getUserRightsExceptionDetails(ddlUserRightExptnCompany.SelectedValue, ddlUserRightExptnRole.SelectedValue, selectedUserIdList); UserRoleData data = new UserRoleData(); bool firstRowEntered = true; // For first list item insert header related vaulues for (int i = 0; i < userRightsDt.Rows.Count; i++) { data = new UserRoleData(); if (firstRowEntered) { data.CompanyID = "Company"; data.Module = "Module"; data.Screen = "Screen"; } else { data.CompanyID = userRightsDt.Rows[i]["CompanyID"].ToString(); data.Module = userRightsDt.Rows[i]["Module"].ToString(); data.Screen = userRightsDt.Rows[i]["Screen"].ToString(); } List <UserRoleRightsData> listRights = new List <UserRoleRightsData>(); UserRoleRightsData rights = null; for (int col = 3; col < userRightsDt.Columns.Count; col++) { rights = new UserRoleRightsData(); if (firstRowEntered) { rights.HeaderTemplateVisibility = "block"; rights.DataTemplateVisibility = "none"; } else { rights.HeaderTemplateVisibility = "none"; rights.DataTemplateVisibility = "block"; } rights.UserID = userRightsDt.Columns[col].ColumnName; if (firstRowEntered) { int readCount = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "Read").Count(); int modifyCount = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "Modify").Count(); int noneCount = userRightsDt.AsEnumerable().Where(k => k.Field <string>(rights.UserID) == "None").Count(); int tableCount = userRightsDt.Rows.Count; rights.IsModifyChcked = false; rights.IsReadChecked = false; rights.IsNoneChacked = false; if (readCount == tableCount) { rights.IsReadChecked = true; } else if (modifyCount == tableCount) { rights.IsModifyChcked = true; } else if (noneCount == tableCount) { rights.IsNoneChacked = true; } } else { if (string.Equals(userRightsDt.Rows[i][col].ToString(), "Read", StringComparison.OrdinalIgnoreCase)) { rights.IsModifyChcked = false; rights.IsReadChecked = true; rights.IsNoneChacked = false; } else if (string.Equals(userRightsDt.Rows[i][col].ToString(), "Modify", StringComparison.OrdinalIgnoreCase)) { rights.IsModifyChcked = true; rights.IsReadChecked = false; rights.IsNoneChacked = false; } else if (string.Equals(userRightsDt.Rows[i][col].ToString(), "None", StringComparison.OrdinalIgnoreCase)) { rights.IsModifyChcked = false; rights.IsReadChecked = false; rights.IsNoneChacked = true; } else { rights.IsModifyChcked = false; rights.IsReadChecked = false; rights.IsNoneChacked = false; } } listRights.Add(rights); } data.UserRightValue = listRights; list.Add(data); if (firstRowEntered) { i = -1; firstRowEntered = false; } } } lvUserAssignedToRole.DataSource = list; lvUserAssignedToRole.DataBind(); } catch (Exception ex) { } }