public StudentInfoViewModel(IEventAggregator eventAggregator, IStudentInformationService infoService)
        {
            this.eventAggregator = eventAggregator;
            this.infoService = infoService;

            eventAggregator.GetEvent<StudentInfoLoadedEvent>().Subscribe(StudentInfoLoaded, ThreadOption.UIThread);

        }
        public StudentProgressViewModel(IEventAggregator eventAggregator, IStudentInformationService studentInfoService)
        {
            this.eventAggregator = eventAggregator;
            this.studentInfoService = studentInfoService;

            eventAggregator.GetEvent<PropertyChangedEvent<IStudentInformationService>>().Subscribe(
                StudentProgressReportChanged, ThreadOption.UIThread, false, IsStudentProgressReportProperty);

        }
        public StudentCreationViewModel(IEventAggregator eventAggregator, IStudentInformationService infoService)
        {
            this.eventAggregator = eventAggregator;
            this.infoService = infoService;

            IsShowingResults = false;

            AddStudentCommand = new DelegateCommand<object>(AddStudent, CanAddStudent);
            DoneAddingStudentCommand = new DelegateCommand<object>(DoneAddingStudent, CanDoneAddingStudent);

            eventAggregator.GetEvent<StudentCreatedEvent>().Subscribe( StudentCreated, ThreadOption.UIThread);
        }
 private void AssignStudentProgressReport(IStudentInformationService service)
 {
     ProgressReport = service.StudentProgressReport;
 }
        public CourseUpdatedViewModel(IEventAggregator eventAggregator, IStudentInformationService studentService )
        {
            this.eventAggregator = eventAggregator;
            this.studentService = studentService;

        }