private List <QuestionResponse> GetQuestionResponsesFromResource(ChartAcrossAssessmentsParameters reportParams) { var returnResponses = reportParams.QuestionResponses; foreach (var response in returnResponses) { response.LocalizedResponses = new List <string> (); QuestionResponse response1 = response; foreach (var r in response.Responses.Where(r => response1.InputType == "MultipleSelect").ToList()) { var assessmentName = string.Empty; var assessment = GetAssessmentDefinitionForResponse(response.AssessmentDefinitionKey.ToString()); if (assessment != null) { assessmentName = assessment.AssessmentName; } response.LocalizedResponses.Add(_resourcesManager.GetResourceManagerByName(assessmentName).GetString("_" + r)); } foreach (var r in response.Responses.Where(r => response1.InputType != "MultipleSelect").ToList()) { response.LocalizedResponses.Add(response1.InputType == "Height" ? GetHeightString(r) : r); } } return(returnResponses); }
private string GetResponseValueAtIndex(QuestionResponse questionResponse, int index) { var returnString = string.Empty; if (questionResponse.Responses.Count >= index + 1) { returnString = questionResponse.Responses.ElementAt(index); } return(returnString); }
private string GetMultiselectQuery(QuestionResponse questionResponse, string or) { var returnStr = string.Format(" {0} ([AssessmentModule].[AssessmentInstanceResponse].[AssessmentCode]='{1}' " + "AND ItemDefinitionCode='{2}' " + "AND ResponseValue IN ({3}))", or, questionResponse.AssessmentCode, questionResponse.ItemDefinitionCode, string.Join(",", questionResponse.Responses.Select(s => "'" + s + "'"))); return(returnStr); }
private string GetStringQuery(QuestionResponse questionResponse, string or) { var returnStr = string.Format(" {0} ([AssessmentModule].[AssessmentInstanceResponse].[AssessmentCode]='{1}' " + "AND ItemDefinitionCode='{2}' " + "AND ResponseValue='{3}')", or, questionResponse.AssessmentCode, questionResponse.ItemDefinitionCode, GetResponseValueAtIndex(questionResponse, 0)); return(returnStr); }
private string GetIntRangeQuery(QuestionResponse questionResponse, string or) { var returnStr = string.Format(" {0} ([AssessmentModule].[AssessmentInstanceResponse].[AssessmentCode]='{1}' " + " AND ItemDefinitionCode='{2}' " + " AND ResponseType='Int32' " + " AND CAST(ResponseValue AS INT) " + "BETWEEN {3} AND {4})", or, questionResponse.AssessmentCode, questionResponse.ItemDefinitionCode, GetResponseValueAtIndex(questionResponse, 0), GetResponseValueAtIndex(questionResponse, 1)); return(returnStr); }