public void ModuleChanged(Lesson lesson) { Lessons = lesson.Lessons; // This is an utter and total hack to allow notebooks (Top) to be visually split from the survey once per course (bottom) SupportingDocumentsTop = lesson.Contents.OfType<VideoContent>().Where( vc => !vc.Name.Contains("survey" ) ).ToObservableCollection(); SupportingDocumentsBottom = lesson.Contents.OfType<VideoContent>().Where(vc => vc.Name.Contains("survey")).ToObservableCollection(); }
public void PrepareLesson(Lesson lesson) { CurrentLesson = lesson; Contents = lesson.Contents; Contents.ToList().ForEach(c => c.IsCompleted = false); Contents.ToList().ForEach(c => c.IsPassingEffort = false); Contents.Where(c => c is QuizContent).Cast<QuizContent>() .ToList().ForEach(ClearResponses); if (lesson.Contents.Count > 0) { PublishNextContent(null); } }
public void NavigateToLesson(Lesson lesson) { navigator.Navigate(PageUri.LessonContent); }
public void UpdateUserScores(Lesson lesson) { LessonResult result = previousScores.FirstOrDefault( lr => lr.LessonId == lesson.EntryId && lr.UserEmail == loginService.CurrentUser.Email); if (result == null) { result = new LessonResult() { LessonId = lesson.EntryId, UserEmail = loginService.CurrentUser.Email, IsPassingScore = lesson.IsPassingScore, FinalScore = lesson.Score }; previousScores.Add(result); } else { result.IsPassingScore = lesson.IsPassingScore; result.FinalScore = lesson.Score; } int totalLessonCount = ActiveCourse.Lessons.SelectMany( l=> l.Lessons ).Count( l => l.IsScored ); int completedLessonCount = ActiveCourse.Lessons.SelectMany( l => l.Lessons ).Count( l => l.IsPassingScore ); int overallPercentComplete = completedLessonCount * 100 / totalLessonCount; bool isPassed = totalLessonCount == completedLessonCount; ActiveCourse.PercentComplete = overallPercentComplete; ActiveCourse.IsCoursePassed = isPassed; ActiveCourse.DatePassed = DateTime.Now; CourseResult courseResult = new CourseResult() { CourseId = this.activeCourse.ID, UserEmail = loginService.CurrentUser.Email, IsPassingScore = ActiveCourse.IsCoursePassed, PercentComplete = ActiveCourse.PercentComplete, PassingDate = ActiveCourse.DatePassed }; UpdateUserLessonScoreCommand command = new UpdateUserLessonScoreCommand(result, courseResult); command.Execute(); }
private void AssociatePriorResults(Lesson lesson) { LessonResult previous = previousScores.FirstOrDefault(lr => lr.LessonId == lesson.EntryId); if (previous != null) { lesson.IsAttempted = true; lesson.IsPassingScore = previous.IsPassingScore; lesson.Score = previous.FinalScore; } }