protected void Page_Load(object sender, EventArgs e) { if (IsQueryStringMissingParameter(X_ID)) { RedirectToPortalSelectionScreen(); } int xID = GetDecryptedEntityId(X_ID); Assessment _assessment; string addendumHTML = string.Empty; int count = 1; _assessment = Assessment.GetAssessmentAndQuestionsByID(xID); if (_assessment == null) { SessionObject.RedirectMessage = "Could not find the assessment."; Response.Redirect("~/PortalSelection.aspx", true); } if (_assessment.Addendums.Count == 0) { addendumPreviewDiv.InnerHtml = "No addendums found."; } else { foreach (Addendum oAddendum in _assessment.Addendums) { ImageButton closeButton = new ImageButton(); closeButton.ImageUrl = "~/Images/X.png"; string closeButtonImgURL = closeButton.ResolveClientUrl(closeButton.ImageUrl); addendumHTML +="<div>" + count.ToString() + ": <a href=\"javascript:void(0);\" onclick=\"displayFullDescription(this); return false;\">" + oAddendum.Addendum_Name + "</a>" + "<div class=\"fullText\">" + "<img src=\"" + closeButtonImgURL + "\" onclick=\"this.parentNode.style.display='none';\" style=\"position:relative; float:right; cursor:pointer;\" /><p>" + oAddendum.Addendum_Text + "</p></div>" + "</div>"; count++; } addendumPreviewDiv.InnerHtml = addendumHTML; } }
protected void Page_Load(object sender, EventArgs e) { if (IsQueryStringMissingParameter(X_ID)) { RedirectToPortalSelectionScreen(); } int xID = GetDecryptedEntityId(X_ID); Assessment _assessment; string rubricHtml = string.Empty; int count = 1; _assessment = Assessment.GetAssessmentAndQuestionsByID(xID); if (_assessment == null) { SessionObject.RedirectMessage = "Could not find the assessment."; Response.Redirect("~/PortalSelection.aspx", true); } foreach (TestQuestion tq in _assessment.Items) { if (tq.Rubric != null) { ImageButton closeButton = new ImageButton(); closeButton.ImageUrl = "~/Images/X.png"; string closeButtonImgUrl = closeButton.ResolveClientUrl(closeButton.ImageUrl); rubricHtml += "<div>" + count.ToString() + ": <a href=\"javascript:void(0);\" onclick=\"displayFullDescription(this); return false;\">" + tq.Rubric.Name + "</a><div class=\"fullText\"><img src=\"" + closeButtonImgUrl + "\" onclick=\"this.parentNode.style.display='none';\" style=\"position:relative; float:right; cursor:pointer;\" />" + tq.Rubric.Content + "</div></div>"; count++; } } rubricPreviewDiv.InnerHtml = rubricHtml; }
public void LoadControlsToContent(List<Tile> tiles) { if (tiles == null) return; var counter = 1; foreach (Tile t in tiles) { try { //REFACTOR : WSH - investigate removing this permission check now that we've added check to RecordPage to prevent chunking if (t.TilePermission != null) { var permission = t.TilePermission ?? Thinkgate.Base.Enums.Permission.HasAccess; if (SessionObject == null && Session["SessionObject"] != null) SessionObject = (SessionObject)Session["SessionObject"]; var isTrue = SessionObject.LoggedInUser.HasPermission(permission); if (!isTrue) continue; } var widget = (TileControlBase) LoadControl(t.ControlPath); t.ParentContainer = this; //Control must inherit from TileControlBase in order to have Tile property //((TileControlBase)widget).Tile = t; widget.Tile = t; var destination = FindControl("tileContainerDiv" + counter); if (destination == null) continue; RadDock dock = (RadDock)destination; if (t.Title.Contains("@@dockID")) { t.Title = t.Title.Replace("@@dockID", dock.ClientID); } dock.ContentContainer.Controls.Clear(); dock.ContentContainer.Controls.Add(widget); var titlePanel = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV"); titlePanel.Attributes["class"] = "tileTitleRow"; titlePanel.InnerHtml = t.Title; dock.TitlebarContainer.Controls.Add(titlePanel); var extraCommandPanel = new System.Web.UI.WebControls.Panel(); extraCommandPanel.ID = "extraCommandPanel"; extraCommandPanel.CssClass = "extraCommandContainer"; if (t.ToggleView || !String.IsNullOrEmpty(t.HelpJSFunction)) { var extraCommandButtonPanel = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV"); extraCommandButtonPanel.ID = "extraCommandButtonPanel"; var tileGuid = Guid.NewGuid().ToString().Replace("-", string.Empty); if (t.ToggleView) { ImageButton extraCommandButton_ListViewToggle = new ImageButton() { ImageUrl = "~/Images/list_view.png" }; string listViewImgURL = extraCommandButton_ListViewToggle.ResolveClientUrl(extraCommandButton_ListViewToggle.ImageUrl); string listViewClass = t.ToggleDefault == "list" ? "toggleViewButtons_selected" : "toggleViewButtons"; ImageButton extraCommandButton_GraphicalViewToggle = new ImageButton { ImageUrl = "~/Images/graphical_view.png" }; string graphicalViewImgURL = extraCommandButton_GraphicalViewToggle.ResolveClientUrl(extraCommandButton_GraphicalViewToggle.ImageUrl); string graphicalViewClass = t.ToggleDefault == "graphical" ? "toggleViewButtons_selected" : "toggleViewButtons"; var listViewImgButton = new Image() { ID = destination.ID + "_ListView" + tileGuid, ImageUrl = listViewImgURL, AlternateText = "List View", ToolTip = "List View", CssClass = listViewClass, ClientIDMode = System.Web.UI.ClientIDMode.Static }; var graphViewImgButton = new Image() { ID = destination.ID + "_GraphicalView" + tileGuid, ImageUrl = graphicalViewImgURL, AlternateText = "Graphical View", ToolTip = "Graphical View", CssClass = graphicalViewClass, ClientIDMode = System.Web.UI.ClientIDMode.Static }; listViewImgButton.Attributes.Add("OnClick", "toggleView_SmallTile2(this, '" + destination.ID + "', 'listView','" + graphViewImgButton.ClientID + "','" + listViewImgButton.ClientID + "')"); graphViewImgButton.Style.Add(HtmlTextWriterStyle.Display, "none"); graphViewImgButton.Attributes.Add("OnClick", "toggleView_SmallTile2(this, '" + destination.ID + "', 'graphicalView','" + listViewImgButton.ClientID + "','" + graphViewImgButton.ClientID + "')"); extraCommandButtonPanel.Controls.Add(listViewImgButton); extraCommandButtonPanel.Controls.Add(graphViewImgButton); //string toggleButtons = "<img src=\"" + listViewImgURL + "\" alt=\"List View\" title='Select List View' class=\"" // + listViewClass + "\" onclick=\"toggleView_SmallTile(this, '" // + destination.ID + "', 'listView');\" />" // + "<img src=\"" + graphicalViewImgURL + "\" alt=\"Graphical View\" title='Select Graphical View' class=\"" // + graphicalViewClass + "\" onclick=\"toggleView_SmallTile(this, '" // + destination.ID + "', 'graphicalView');\" />"; //extraCommandButtonPanel.InnerHtml = toggleButtons; } // Some tiles have a help icon. else { ImageButton extraCommandButton_Help = new ImageButton() { ImageUrl = "~/Images/help_small.png" }; string helpImgURL = extraCommandButton_Help.ResolveClientUrl(extraCommandButton_Help.ImageUrl); Image helpImgButton = new Image() { ID = destination.ID + "_Help" + tileGuid, ImageUrl = helpImgURL, AlternateText = "Help", CssClass = "tileHelpButton", ClientIDMode = System.Web.UI.ClientIDMode.Static }; helpImgButton.Attributes.Add("OnClick", t.HelpJSFunction + "()"); extraCommandButtonPanel.Controls.Add(helpImgButton); } extraCommandPanel.Controls.Add(extraCommandButtonPanel); } dock.TitlebarContainer.Controls.Add(extraCommandPanel); dock.Command += RadDock_Command; t.ParentDock = dock; //BJC: Adding new class to the title bar in order to set the height to 50 pixels and create two rows. dock.TitlebarContainer.CssClass = "rdTitleBarTwoRows"; if (t.DockClickMethod != null) dock.Commands.Add(GetDockCommand("Select Class", "changeCommand")); if (!String.IsNullOrEmpty(t.ExpandedControlPath)) dock.Commands.Add(GetDockCommand("Expand", "expandCommand", t.ExpandedControlPath, t.ExpandJSFunctionOverride)); if (!String.IsNullOrEmpty(t.EditControlPath)) dock.Commands.Add(GetDockCommand("Edit", "editCommand", t.EditControlPath, t.EditJSFunctionOverride)); if (!String.IsNullOrEmpty(t.PerformanceLevelControlPath)) dock.Commands.Add(GetDockCommand("PerformanceLevel", "performanceLevel", t.PerformanceLevelControlPath, t.PerformanceLevelJSFunctionOverride)); if (!String.IsNullOrEmpty(t.ExportToExcelJSFunctionOverride)) dock.Commands.Add(GetJSDockCommand("Export to Excel", "exportToExcelCommand", string.Empty, t.ExportToExcelJSFunctionOverride)); if (!String.IsNullOrEmpty(t.ReportJSFunctionOverride)) dock.Commands.Add(GetDockCommand("Assessment Report Card", "reportCommand", t.ReportControlPath, t.ReportJSFunctionOverride)); foreach (var command in widget.AdditionalCommands()) { dock.Commands.Add(command); } if (SessionObject.TileClicked != null && SessionObject.Elements_ActiveFolder.Equals(SessionObject.LastElementsFolder_TileClicked)) { if (SessionObject.TileClicked.IndexOf(dock.ClientID) > -1 && dock.ClientID.IndexOf("rotator1") > -1) { //dock.TitlebarContainer.CssClass = dock.TitlebarContainer.CssClass.ToString() + " rdTitleBar" + counter; //SessionObject.selectedRDTitleBarClass = " rdTitleBar" + counter; dock.CssClass = string.Empty; } else if (dock.ClientID.IndexOf("rotator2") > -1) { //dock.TitlebarContainer.CssClass = dock.TitlebarContainer.CssClass.ToString() + SessionObject.selectedRDTitleBarClass; dock.CssClass = string.Empty; } else { var browserVersion = System.Web.HttpContext.Current.Request.UserAgent.ToLower(); // dock.CssClass = browserVersion.Contains("msie 8.") ? "tileContainerDiv_dimmed_IE8" : "tileContainerDiv_dimmed"; String cs = browserVersion.Contains("msie 8.") ? "tileContainerDiv_dimmed_IE8" : "tileContainerDiv_dimmed"; dock.ContentContainer.CssClass = dock.ContentContainer.CssClass + " " + cs; extraCommandPanel.CssClass = extraCommandPanel.CssClass + " " + cs; dock.TitlebarContainer.CssClass = "rdTitleBarTwoRowsLight"; foreach(var cmd in dock.Commands) cmd.CssClass = cmd.CssClass + " " + cs; } } } catch (Exception) { } counter++; } HideUnusedTiles(counter); }
public void LoadStandardsSearchTable_Click(object sender, EventArgs e) { LoadStandardsSearchDataTable(); standardsSearchTable.Rows.Clear(); if(_standardsSearchDataTable.Rows.Count > 0) { standardsSearchTable.Visible = true; standardsSearchHeader.Visible = true; } else { standardsSearchTable.Visible = false; standardsSearchHeader.Visible = false; } List<int> filterList = new List<int>(); if (SessionObject.LoggedInUser.StandardFilters.ContainsKey(_filterName) && SessionObject.LoggedInUser.StandardFilters[_filterName].Length > 0) { foreach (var strID in SessionObject.LoggedInUser.StandardFilters[_filterName].Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { Int32 id; if (Int32.TryParse(strID.Trim(), out id)) filterList.Add(id); } } foreach (DataRow row in _standardsSearchDataTable.Rows) { if (!filterList.Contains(Convert.ToInt32(row["ID"]))) { TableRow newRow = new TableRow(); TableCell cell1 = new TableCell(); TableCell cell2 = new TableCell(); TableCell cell3 = new TableCell(); TableCell cell4 = new TableCell(); TableCell cell5 = new TableCell(); TableCell cell6 = new TableCell(); TableCell cell7 = new TableCell(); newRow.Attributes["standardID"] = row["ID"].ToString(); HtmlInputCheckBox cell1Data = new HtmlInputCheckBox(); cell1Data.ID = "standardsSearchCheckbox_" + row["ID"].ToString(); cell1Data.ClientIDMode = System.Web.UI.ClientIDMode.Static; cell1Data.Attributes["onclick"] = "addToFilter(this); return false;"; cell1Data.Attributes["standardID"] = row["ID"].ToString(); cell1.CssClass = "alignCellCenter"; cell1.Width = 50; cell1.Controls.Add(cell1Data); HyperLink cell2Data = new HyperLink(); cell2Data.NavigateUrl = "~/Record/StandardsPage.aspx?xID=" + Standpoint.Core.Classes.Encryption.EncryptString( row["ID"].ToString()); cell2Data.Attributes["onclick"] = "window.open('" + cell2Data.ResolveClientUrl( cell2Data.NavigateUrl) + "'); return false;"; cell2Data.Text = row["StandardName"].ToString(); cell2.ToolTip = row["StandardName"].ToString(); cell2.Style.Add("overflow", "hidden"); cell2.Width = 100; cell2.Controls.Add(cell2Data); HtmlGenericControl cell3Data = new HtmlGenericControl("DIV"); ImageButton closeButton = new ImageButton(); closeButton.ImageUrl = "~/Images/X.png"; string closeButtonImgURL = closeButton.ResolveClientUrl(closeButton.ImageUrl); cell3Data.InnerHtml = "<div class=\"divOverflowHidden\"><a href=\"javascript:void(0);\" onclick=\"displayFullDescription(this); return false;\" class=\"standardTextLink\" >" + row["Description"].ToString() + "</a></div><div class='fullText'><img src='" + closeButtonImgURL + "' onclick='this.parentNode.style.display="none";' style='position:relative; float:right; cursor:pointer;' />" + row["Description"].ToString() + "</div>"; cell3.Controls.Add(cell3Data); cell3.Width = 250; cell4.Text = row["Grade"].ToString(); cell4.Width = 50; cell5.Text = row["Subject"].ToString(); cell5.Width = 100; cell6.Text = row["Course"].ToString(); cell6.Width = 100; cell7.Text = row["Level"].ToString(); if (_standardsSearchDataTable.Rows.Count > 13) cell7.Width = 91; else cell7.Width = 100; newRow.Cells.Add(cell1); newRow.Cells.Add(cell2); newRow.Cells.Add(cell3); newRow.Cells.Add(cell4); newRow.Cells.Add(cell5); newRow.Cells.Add(cell6); newRow.Cells.Add(cell7); standardsSearchTable.Rows.Add(newRow); } } standardsSearchTable.DataBind(); }
private void LoadStandardsFilterTable() { standardsFilterTable.Rows.Clear(); if (_standardsFilterDataTable != null && _standardsFilterDataTable.Rows.Count > 0) { tableContainerDiv.Attributes["style"] = "display:block;"; updateButton.Enabled = true; defaultMessageDiv.Attributes["style"] = "display:none;"; } else { tableContainerDiv.Attributes["style"] = "display:none;"; defaultMessageDiv.Attributes["style"] = "display:block;"; if(IsPostBack && filterIDs.Value.Length > 0) updateButton.Enabled = false; } foreach(DataRow row in _standardsFilterDataTable.Rows) { TableRow newRow = new TableRow(); TableCell cell1 = new TableCell(); TableCell cell2 = new TableCell(); TableCell cell3 = new TableCell(); TableCell cell4 = new TableCell(); TableCell cell5 = new TableCell(); TableCell cell6 = new TableCell(); TableCell cell7 = new TableCell(); HtmlInputCheckBox cell1Data = new HtmlInputCheckBox(); cell1Data.ID = "standardsFilterCheckbox_" + row["StandardID"].ToString(); cell1Data.ClientIDMode = System.Web.UI.ClientIDMode.Static; cell1Data.Attributes["onclick"] = "removeFromFilter(this, this.checked);"; cell1Data.Attributes["standardID"] = row["StandardID"].ToString(); cell1.CssClass = "alignCellCenter"; cell1.Width = 50; cell1.Controls.Add(cell1Data); HyperLink cell2Data = new HyperLink(); cell2Data.NavigateUrl = "~/Record/StandardsPage.aspx?xID=" + Standpoint.Core.Classes.Encryption.EncryptString(row["StandardID"].ToString()); cell2Data.Attributes["onclick"] = "window.open('" + cell2Data.ResolveClientUrl(cell2Data.NavigateUrl) + "'); return false;"; cell2Data.Text = row["StandardName"].ToString(); cell2.ToolTip = row["StandardName"].ToString(); cell2.Style.Add("overflow", "hidden"); cell2.Width = 100; cell2.Controls.Add(cell2Data); HtmlGenericControl cell3Data = new HtmlGenericControl("DIV"); ImageButton closeButton = new ImageButton(); closeButton.ImageUrl = "~/Images/X.png"; string closeButtonImgURL = closeButton.ResolveClientUrl(closeButton.ImageUrl); cell3Data.InnerHtml = "<div class=\"divOverflowHidden\"><a href=\"javascript:void(0);\" onclick=\"displayFullDescription(this); return false;\" class=\"standardTextLink\" >" + row["Desc"].ToString() + "</a></div><div class='fullText'><img src='" + closeButtonImgURL + "' onclick='this.parentNode.style.display="none";' style='position:relative; float:right; cursor:pointer;' />" + row["Desc"].ToString() + "</div>"; cell3.Controls.Add(cell3Data); cell3.Width = 250; cell4.Text = row["Grade"].ToString(); cell4.Width = 50; cell5.Text = row["Subject"].ToString(); cell5.Width = 100; cell6.Text = row["Course"].ToString(); cell6.Width = 100; cell7.Text = row["Level"].ToString(); if (_standardsFilterDataTable.Rows.Count > 13) cell7.Width = 91; else cell7.Width = 100; newRow.Cells.Add(cell1); newRow.Cells.Add(cell2); newRow.Cells.Add(cell3); newRow.Cells.Add(cell4); newRow.Cells.Add(cell5); newRow.Cells.Add(cell6); newRow.Cells.Add(cell7); standardsFilterTable.Rows.Add(newRow); } standardsFilterTable.DataBind(); }
private DataTable GetContentDataTable_ExportToExcel() { if (_contentData == null || (!String.IsNullOrEmpty(_demoLabel) && !String.IsNullOrEmpty(_demoVal)) || !String.IsNullOrEmpty(_selectedFormID) || _isExcel) { _contentData = new DataTable(); if (_distractorAnalysisData.Tables[0].Rows.Count > 0) { int questionCount = _distractorAnalysisData.Tables[1].Rows.Count; DataTable contentColumns = _distractorAnalysisData.Tables[1]; DataColumn name = new DataColumn("Name"); _contentData.Columns.Add(name); DataColumn studentID = new DataColumn("StudentID"); _contentData.Columns.Add(studentID); DataColumn score = new DataColumn("Score"); _contentData.Columns.Add(score); // if(contentColumns.Columns.Contains("TR_Sort") && contentColumns.Columns.Contains("Sort")) //{ foreach (DataRow row in contentColumns.Rows) { var newColName = row["TR_Sort"].ToString() != "0" ? row["Sort"].ToString() + " r(" + row["TR_Sort"].ToString() + ")" : row["Sort"].ToString(); DataColumn newCol = new DataColumn(newColName); _contentData.Columns.Add(newCol); } //} if (isPDFView || _isExcel) { DataColumn TestResponses = new DataColumn("TestResponses"); _contentData.Columns.Add(TestResponses); DataColumn AltResponses = new DataColumn("AltResponses"); _contentData.Columns.Add(AltResponses); DataColumn AnswerString = new DataColumn("AnswerString"); _contentData.Columns.Add(AnswerString); DataColumn AdditionalData = new DataColumn("AdditionalData"); _contentData.Columns.Add(AdditionalData); } //Build Standards and Rigor Rows DataRow standardsRow = _contentData.NewRow(); standardsRow[name] = "Standards"; foreach (DataRow row in _distractorAnalysisData.Tables[0].Rows) { standardsRow[score] = row["PctCorrectDisp"].ToString(); } DataRow rigorRow = _contentData.NewRow(); rigorRow[name] = _distractorAnalysisData.Tables[0].Rows[0]["RigorType"].ToString(); foreach (DataRow row in _distractorAnalysisData.Tables[0].Rows) { rigorRow[score] = row["PctCorrectDisp"].ToString(); } showRigor_checkbox.Value = _distractorAnalysisData.Tables[0].Rows[0]["RigorType"].ToString(); showRigor_span.InnerHtml = "Show " + _distractorAnalysisData.Tables[0].Rows[0]["RigorType"].ToString(); SessionObject.PreviewStandardsDialogParms.Clear(); foreach (DataRow contentRow in contentColumns.Rows) { var colName = contentRow["TR_Sort"].ToString() != "0" ? contentRow["Sort"].ToString() + " r(" + contentRow["TR_Sort"].ToString() + ")" : contentRow["Sort"].ToString(); ImageButton img = new ImageButton(); img.ImageUrl = "~/Images/preview1.gif"; string standardID_Encrypted = Encryption.EncryptInt(DataIntegrity.ConvertToInt(contentRow["StandardID"])); Thinkgate.Base.Classes.Standards standard = new Thinkgate.Base.Classes.Standards(DataIntegrity.ConvertToInt(contentRow["StandardID"]), contentRow["StandardName"].ToString(), contentRow["SText"].ToString(), 0, string.Empty); if (!SessionObject.PreviewStandardsDialogParms.ContainsKey(DataIntegrity.ConvertToInt(contentRow["StandardID"]))) { SessionObject.PreviewStandardsDialogParms.Add(DataIntegrity.ConvertToInt(contentRow["StandardID"]), standard); } standardsRow[colName] = "<img src=\"" + img.ResolveClientUrl(img.ImageUrl) + "\" onclick=\"customDialog({ maximize_height:true, maxheight: 400,url: '../ControlHost/PreviewStandard.aspx?xID=" + standardID_Encrypted + "' }); return false;\" style=\"cursor:pointer;height:100%;\" title=\"" + contentRow["StandardName"].ToString() + ": " + contentRow["SText_Hover"].ToString() + "\"/>"; rigorRow[colName] = contentRow["qrigor"].ToString(); } _contentData.Rows.Add(standardsRow); _contentData.Rows.Add(rigorRow); //Build Answer Rows foreach (DataRow row in _distractorAnalysisData.Tables[0].Rows) { DataRow newRow = _contentData.NewRow(); newRow[name] = row["Student_Name"].ToString().Length > 0 ? row["Student_Name"].ToString() : row["Demo_Name"].ToString(); newRow[studentID] = row["StudentID"].ToString(); newRow[score] = row["Student_Name"].ToString().Length > 0 && !isPDFView && !_isExcel ? row["PctCorrectDisp_SORT"].ToString() : row["PctCorrectDisp"].ToString(); string testResponses = row["TestResponses"].ToString(); string altResponses = row["AltResponses"].ToString(); string answerString = row["AnswerString"].ToString(); int counter = 0; if (isPDFView || _isExcel) { newRow["TestResponses"] = row["TestResponses"].ToString(); newRow["AltResponses"] = row["AltResponses"].ToString(); newRow["AnswerString"] = row["AnswerString"].ToString(); newRow["AdditionalData"] = row["AdditionalData"].ToString(); } if (answerString.Length > 0) //For overall average and demographic rows { foreach (DataRow contentRow in contentColumns.Rows) { int sort = counter + 1; var rubricID = contentRow["RubricID"].ToString(); var trSort = DataIntegrity.ConvertToInt(contentRow["TR_Sort"]); var sortColName = trSort > 0 ? contentRow["Sort"].ToString() + " r(" + trSort.ToString() + ")" : contentRow["Sort"].ToString(); var maxPoints = DataIntegrity.ConvertToInt(contentRow["MaxPoints"]); var masterSort = DataIntegrity.ConvertToInt(contentRow["MasterSort"]) - 1; string[] answers = new string[contentColumns.Rows.Count]; answers = answerString.Split(';'); if (!string.IsNullOrEmpty(contentRow["DistractorRationale"].ToString()) && !_isExcel && !isPDFView) { var js = "customDialog({ url: '../ControlHost/TestQuestionPieChart.aspx?level=" + _level + "&levelID=" + _levelID + "&testID=" + _testID + "&sort=" + contentRow["Sort"].ToString() + "&critOrides=" + _criteriaOverrides + "&formID=" + rcbDistractorAnalysisForms.SelectedValue + "&parent=" + _parent + "&parentID=" + _parentID + "', title: 'Distractor Rationale', maximize: true, maxwidth: 550, maxheight: 500 }); return false;"; newRow[sortColName] = "<a style=\"color: blue;\" href=\"javascript:void();\" onclick=\"" + js + "\">" + answers[counter] + "</a>"; } else { newRow[sortColName] = answers[counter]; } counter++; } } else if (testResponses.Length > 0) { if (altResponses.Length == 0) continue; var additionalData = row["AdditionalData"].ToString(); foreach (DataRow contentRow in contentColumns.Rows) { int sort = counter + 1; var scoreOnTest = contentRow["ScoreOnTest"].ToString(); var rubricID = contentRow["RubricID"].ToString(); var trSort = DataIntegrity.ConvertToInt(contentRow["TR_Sort"]); var sortColName = trSort > 0 ? contentRow["Sort"].ToString() + " r(" + trSort.ToString() + ")" : contentRow["Sort"].ToString(); var maxPoints = DataIntegrity.ConvertToInt(contentRow["MaxPoints"]); var masterSort = DataIntegrity.ConvertToInt(contentRow["MasterSort"]); var answer = string.Empty; //var testResponse = testResponses.Substring((masterSort-1), 1); //var altResponse = altResponses.Substring(masterSort == 1 ? 0 : (masterSort*3) - 3, 3); var testResponse = testResponses.Length >= masterSort ? testResponses.Substring((masterSort - 1), 1) : testResponses.Substring(0, 1); var altResponse = altResponses.Length > ((masterSort * 3) - 3) ? altResponses.Substring((masterSort * 3) - 3, 3) : altResponses.Substring(0, 3); var altResponseDisplay = string.Empty; var questionType = contentRow["QuestionType"].ToString(); var scoreType = contentRow["ScoreType"].ToString(); var questionID = DataIntegrity.ConvertToInt(contentRow["QuestionID"]); var rubricPointListString = string.Empty; var temp = string.Empty; var rubricPointList = new string[] { }; var rubricPointCount = 0; if (additionalData.Length > 0 && additionalData.IndexOf("score_" + questionID + "=,") > -1) { rubricPointListString = additionalData.Substring(additionalData.IndexOf("score_" + questionID + "=,") + ("score_" + questionID + "=,").Length); if (rubricPointListString.IndexOf(",|?|") > -1) rubricPointListString = rubricPointListString.Substring(0, rubricPointListString.IndexOf(",|?|")); temp = rubricPointListString; while (rubricPointListString.IndexOf("_") > -1) { rubricPointCount++; rubricPointListString = rubricPointListString.Substring(rubricPointListString.IndexOf("_") + 1); } } switch (altResponse) { case "000": altResponseDisplay = "0%"; break; case "100": altResponseDisplay = "100%"; break; default: if (altResponse.Substring(0, 1) == "0") { altResponseDisplay = altResponse.Substring(1, 2) + "%"; } else { altResponseDisplay = "%"; } break; } if (altResponse == "***") { answer = "ns"; } else if (testResponse == "*" && (questionType == "MC3" || questionType == "MC4" || questionType == "MC5" || questionType == "T")) { answer = "x"; } else if (testResponse == "*") { if (rubricID != "0") { string scored = "0"; List<int> list = new List<int>(); while (temp.IndexOf("_") > -1) { temp = temp.Substring(temp.IndexOf("_") + 1); scored = (Convert.ToInt32(scored) + Convert.ToInt32(temp.Substring(0, 1))).ToString(); list.Add(Convert.ToInt32(temp.Substring(0, 1))); } if (trSort > 0) { // overall percentage is altReponseDisplay on all rubric criteria, now get the rubric point set up for each criteria //int totalRubricCount = Convert.ToInt32(scored) * 100 / Convert.ToInt32( altResponseDisplay.Substring(0,altResponseDisplay.IndexOf("%"))); int totalRubricCount = maxPoints; // Since altResponseDisplay returns round figure of percentage if ((Convert.ToInt32(scored) * 100 / totalRubricCount) != Convert.ToInt32(altResponseDisplay.Substring(0, altResponseDisplay.IndexOf("%")))) totalRubricCount = (Convert.ToInt32(scored) * 100) / (Convert.ToInt32(altResponseDisplay.Substring(0, altResponseDisplay.IndexOf("%"))) - 1); int rubricCount = totalRubricCount / list.Count; if (list.Count > 1) { double percentage = (double)((double)list[trSort - 1] * 100 / (double)rubricCount); answer = list[trSort - 1].ToString() + "(" + Math.Round(percentage).ToString() + "%" + ")"; } else answer = list[trSort - 1].ToString() + "(" + altResponseDisplay + ")"; } else { // sum of scored point answer = scored + "(" + altResponseDisplay + ")"; } } else { answer = altResponseDisplay; } } else { answer = testResponse; } if (_isExcel || isPDFView) { newRow[sortColName] = answer + (contentRow["ScoreOnTest"].ToString() == "No" ? "*" : ""); } else if (!string.IsNullOrEmpty(contentColumns.Rows[counter]["DistractorRationale"].ToString())) { newRow[sortColName] = testResponses.Length > (counter) ? testResponses.Substring(counter, 1) : testResponses.Substring(0, 1); // testResponses.Substring(counter, 1); var js = "customDialog({ url: '../ControlHost/TestQuestionPieChart.aspx?level=" + _level + "&levelID=" + _levelID + "&testID=" + _testID + "&sort=" + contentRow["Sort"].ToString() + "&critOrides=" + _criteriaOverrides + "&formID=" + rcbDistractorAnalysisForms.SelectedValue + "&parent=" + _parent + "&parentID=" + _parentID + "', title: 'Distractor Rationale', maximize: true, maxwidth: 550, maxheight: 500 }); return false;"; var color = string.Empty; if ((scoreType == "P" || scoreType == "R") && altResponse != "000" && altResponse != "100") color = "black"; else color = "white"; //newRow[sort.ToString()] = "<a href=\"javascript:void();\" studentRow=\"true\" onclick=\"" + js + "\">" + answer + (row["ScoreOnTest"].ToString == "No" ? "*" : "") + "</a>"; newRow[sortColName] = "<a style=\"color: " + color + ";\" href=\"javascript:void();\" studentRow=\"true\" onclick=\"" + js + "\">" + answer + (contentRow["ScoreOnTest"].ToString() == "No" ? "*" : "") + "</a>"; } else { newRow[sortColName] = "<span studentRow=\"true\">" + answer + (contentRow["ScoreOnTest"].ToString() == "No" ? "*" : "") + "</span>"; } counter++; } } else { if (testResponses.Length == 0) continue; if (altResponses.Length == 0) continue; foreach (DataRow contentRow in contentColumns.Rows) { var trSort = DataIntegrity.ConvertToInt(contentRow["TR_Sort"]); var sortColName = trSort > 0 ? contentRow["Sort"].ToString() + " r(" + trSort.ToString() + ")" : contentRow["Sort"].ToString(); newRow[sortColName] = testResponses.Substring(counter, 1) + (contentRow["ScoreOnTest"].ToString() == "No" ? "*" : ""); counter++; } } _contentData.Rows.Add(newRow); } } } return _contentData; }