public String GetUserAnswer(AnswerResult answerResult) { if (answerResult.LearnerResponse != null) return Uri.UnescapeDataString(answerResult.LearnerResponse.ToString()); else return ""; }
public void CreateAnswerResultWithParameters() { const long ActivityAttemptId = 2349; const long ActivityPackageId = 83294; const string ActivityTitle = "Some Activity"; long? interactionId = 12382; const CompletionStatus CompletionStatus = CompletionStatus.NotAttempted; const SuccessStatus SuccessStatus = SuccessStatus.Failed; var attemptResult = new AttemptResult(); const string LearnerResponse = "C"; const string CorrectResponse = "-328"; InteractionType? learnerResponseType = Common.Models.Shared.Statistics.InteractionType.Numeric; float? scaledScore = 0.58f; float? minScore = 0; float? maxScore = 50; float? rawScore = 29; string primaryResourceFromManifest = "0.html"; var answerResult = new AnswerResult( ActivityAttemptId, ActivityPackageId, ActivityTitle, interactionId, CompletionStatus, SuccessStatus, attemptResult, LearnerResponse, CorrectResponse, learnerResponseType, minScore, maxScore, rawScore, scaledScore, primaryResourceFromManifest); Assert.AreEqual(ActivityAttemptId, answerResult.ActivityAttemptId); Assert.AreEqual(ActivityPackageId, answerResult.ActivityPackageId); Assert.AreEqual(ActivityTitle, answerResult.ActivityTitle); Assert.AreEqual(interactionId, answerResult.InteractionId); Assert.AreEqual(CompletionStatus, answerResult.CompletionStatus); Assert.AreEqual(SuccessStatus, answerResult.SuccessStatus); Assert.AreSame(attemptResult, answerResult.AttemptResult); Assert.AreEqual(LearnerResponse, answerResult.LearnerResponse); Assert.AreEqual(CorrectResponse, answerResult.CorrectResponse); Assert.AreEqual(learnerResponseType, answerResult.LearnerResponseType); Assert.AreEqual(scaledScore, answerResult.ScaledScore); }
public string GetUserAnswer(AnswerResult answerResult) { return answerResult.LearnerResponse != null ? Uri.UnescapeDataString(answerResult.LearnerResponse.ToString()) : string.Empty; }
/// <summary> /// Return user score from AnswerResult /// </summary> /// <param name="answerResult">AnswerResult for question</param> /// <returns></returns> public String GetUserScoreForAnswer(AnswerResult answerResult) { if (answerResult.ScaledScore != null) { if (answerResult.ScaledScore.HasValue == true) return Math.Round((double)answerResult.ScaledScore, 2).ToString(); } return ""; }
/// <summary> /// Return user answer from AnswerResult /// </summary> /// <param name="answerResult">AnswerResult for question</param> /// <returns></returns> public String GetUserAnswer(AnswerResult answerResult) { if (answerResult.LearnerResponse != null) return answerResult.LearnerResponse.ToString(); else return ""; }
public IEnumerable<AnswerResult> GetAnswers(AttemptResult attemptResult) { List<AnswerResult> result = new List<AnswerResult>(); LearningStoreJob job = LStore.CreateJob(); AttemptItemIdentifier attemptId = new AttemptItemIdentifier(attemptResult.AttemptId); RequestInteractionResultsByAttempt(job, attemptId); DataTable dataTable = job.Execute<DataTable>(); foreach (DataRow dataRow in dataTable.AsEnumerable()) { ActivityAttemptItemIdentifier activityAttemptItemId; LStoreHelper.CastNonNull(dataRow[Schema.InteractionResultsByAttempt.ActivityAttemptId], out activityAttemptItemId); long activityAttemptId = activityAttemptItemId.GetKey(); ActivityPackageItemIdentifier activityPackageItemId; LStoreHelper.CastNonNull(dataRow[Schema.InteractionResultsByAttempt.ActivityPackageId], out activityPackageItemId); long activityPackageId = activityPackageItemId.GetKey(); String activityTitle; LStoreHelper.CastNonNull(dataRow[Schema.InteractionResultsByAttempt.ActivityTitle], out activityTitle); InteractionItemIdentifier interactionItemId; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.InteractionId], out interactionItemId); long? interactionId = null; if (interactionItemId != null) { interactionId = interactionItemId.GetKey(); } Microsoft.LearningComponents.CompletionStatus completionStatus; LStoreHelper.CastNonNull(dataRow[Schema.InteractionResultsByAttempt.CompletionStatus], out completionStatus); IUDICO.Common.Models.Shared.Statistics.CompletionStatus iudicoCompletionStatus = (IUDICO.Common.Models.Shared.Statistics.CompletionStatus)completionStatus; Microsoft.LearningComponents.SuccessStatus? successStatus; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.SuccessStatus], out successStatus); IUDICO.Common.Models.Shared.Statistics.SuccessStatus? iudicoSuccessStatus = (IUDICO.Common.Models.Shared.Statistics.SuccessStatus?)successStatus; bool? learnerResponseBool = null; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.LearnerResponseBool], out learnerResponseBool); string learnerResponseString = null; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.LearnerResponseString], out learnerResponseString); double? learnerResponseNumeric = null; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.LearnerResponseNumeric], out learnerResponseNumeric); object learnerResponse = null; if (learnerResponseBool != null) { learnerResponse = learnerResponseBool; } if (learnerResponseString != null) { learnerResponse = learnerResponseString; } if (learnerResponseNumeric != null) { learnerResponse = learnerResponseNumeric; } string correctResponse; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.CorrectResponse], out correctResponse); Microsoft.LearningComponents.InteractionType? interactionType = null; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.InteractionType], out interactionType); IUDICO.Common.Models.Shared.Statistics.InteractionType? learnerResponseType = null; if (interactionType != null) { learnerResponseType = (IUDICO.Common.Models.Shared.Statistics.InteractionType)interactionType; } float? scaledScore; LStoreHelper.Cast<float>(dataRow[Schema.InteractionResultsByAttempt.ScaledScore], out scaledScore); // Create AnswerResult object AnswerResult answerResult = new AnswerResult(activityAttemptId, activityPackageId, activityTitle, interactionId, iudicoCompletionStatus, iudicoSuccessStatus, attemptResult, learnerResponse, correctResponse, learnerResponseType, scaledScore); result.Add(answerResult); } return result; }
/// <summary> /// Return maximum score from AnswerResult /// </summary> /// <param name="answerResult">AnswerResult for question</param> /// <returns></returns> public double GetMaxScoreForAnswer(AnswerResult answerResult) { if (answerResult.MaxScore.HasValue) { return answerResult.MaxScore.Value; } return 0; }
/// <summary> /// Return user answer from AnswerResult /// </summary> /// <param name="answerResult">AnswerResult for question</param> /// <returns></returns> public string GetUserAnswer(AnswerResult answerResult) { return answerResult.LearnerResponse != null ? answerResult.LearnerResponse.ToString() : string.Empty; }
public IEnumerable<AnswerResult> GetAnswers(AttemptResult attemptResult) { LearningStoreJob job = this.LStore.CreateJob(); var attemptId = new AttemptItemIdentifier(attemptResult.AttemptId); this.RequestInteractionResultsByAttempt(job, attemptId); var dataTable = job.Execute<DataTable>(); foreach (DataRow dataRow in dataTable.AsEnumerable()) { ActivityAttemptItemIdentifier activityAttemptItemId; LStoreHelper.CastNonNull( dataRow[Schema.InteractionResultsByAttempt.ActivityAttemptId], out activityAttemptItemId); long activityAttemptId = activityAttemptItemId.GetKey(); ActivityPackageItemIdentifier activityPackageItemId; LStoreHelper.CastNonNull( dataRow[Schema.InteractionResultsByAttempt.ActivityPackageId], out activityPackageItemId); long activityPackageId = activityPackageItemId.GetKey(); string activityTitle; LStoreHelper.CastNonNull(dataRow[Schema.InteractionResultsByAttempt.ActivityTitle], out activityTitle); InteractionItemIdentifier interactionItemId; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.InteractionId], out interactionItemId); long? interactionId = null; if (interactionItemId != null) { interactionId = interactionItemId.GetKey(); } CompletionStatus completionStatus; LStoreHelper.CastNonNull( dataRow[Schema.InteractionResultsByAttempt.CompletionStatus], out completionStatus); var iudicoCompletionStatus = (Common.Models.Shared.Statistics.CompletionStatus)completionStatus; SuccessStatus? successStatus; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.SuccessStatus], out successStatus); var iudicoSuccessStatus = (Common.Models.Shared.Statistics.SuccessStatus?)successStatus; bool? learnerResponseBool; LStoreHelper.Cast( dataRow[Schema.InteractionResultsByAttempt.LearnerResponseBool], out learnerResponseBool); string learnerResponseString; LStoreHelper.Cast( dataRow[Schema.InteractionResultsByAttempt.LearnerResponseString], out learnerResponseString); double? learnerResponseNumeric; LStoreHelper.Cast( dataRow[Schema.InteractionResultsByAttempt.LearnerResponseNumeric], out learnerResponseNumeric); object learnerResponse = null; if (learnerResponseBool != null) { learnerResponse = learnerResponseBool; } if (learnerResponseString != null) { learnerResponse = learnerResponseString; } if (learnerResponseNumeric != null) { learnerResponse = learnerResponseNumeric; } string correctResponse; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.CorrectResponse], out correctResponse); InteractionType? interactionType; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.InteractionType], out interactionType); Common.Models.Shared.Statistics.InteractionType? learnerResponseType = null; if (interactionType != null) { learnerResponseType = (Common.Models.Shared.Statistics.InteractionType)interactionType; } float? minScore; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.MinScore], out minScore); float? maxScore; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.MaxScore], out maxScore); float? rawScore; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.RawScore], out rawScore); float? scaledScore; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.ScaledScore], out scaledScore); string primaryResourceFromManifest; LStoreHelper.Cast(dataRow[Schema.InteractionResultsByAttempt.PrimaryResourceFromManifest], out primaryResourceFromManifest); // Create AnswerResult object var answerResult = new AnswerResult( activityAttemptId, activityPackageId, activityTitle, interactionId, iudicoCompletionStatus, iudicoSuccessStatus, attemptResult, learnerResponse, correctResponse, learnerResponseType, minScore, maxScore, rawScore, scaledScore, primaryResourceFromManifest); yield return answerResult; } }