internal LrmRloHandler() { AIResources.Culture = LocalizationManager.GetCurrentCulture(); m_assessmentItemMgr = new AssessmentItemManager(); string numberDecimalSeparator = CultureInfo.CurrentUICulture.NumberFormat.NumberDecimalSeparator; // convert the number decimal separator into a hex number. Note if the number decimal separator // is longer than one character, the current script will break. At the time of writing this, // multi-character decimal separator support does not seem like a worthwhile use of dev time. string hex = Convert.ToInt32(numberDecimalSeparator[0]).ToString("X", CultureInfo.InvariantCulture); // replace tags in the grading view script that won't change for the life of this object. The only // remaining tag to replace is <%=FormId%>, which is replaced during grading view rendering. string maximumComment = BaseSchemaInternal.CommentFromLearnerItem.MaxCommentLength.ToString(CultureInfo.InvariantCulture); m_headGradingViewScript = AIResources.HeadGradingViewScript.Replace( "<%=DecimalSeparator%>", numberDecimalSeparator).Replace( "<%=DecimalSeparatorHex%>", String.Format(CultureInfo.InvariantCulture, "{0}", hex)).Replace( "<%=ScoreOutOfRange%>", AIResources.ScoreOutOfRange).Replace( "<%=MaxCommentLength%>", maximumComment).Replace( "<%=CommentTooLong%>", String.Format(CultureInfo.InvariantCulture, AIResources.InstructorCommentTooLong, maximumComment)); }