public ViewModelLocator(ISettingsManager <MySettings> settingsManager,
                                IDatabaseManagementService databaseManagementService,
                                ICourseInfoRepository courseRepository)
        {
            if (settingsManager is null)
            {
                throw new ArgumentNullException(nameof(settingsManager));
            }

            if (databaseManagementService is null)
            {
                throw new ArgumentNullException(nameof(databaseManagementService));
            }

            if (courseRepository is null)
            {
                throw new ArgumentNullException(nameof(courseRepository));
            }

            MainWindowViewModel = new MainWindowViewModel(courseRepository, settingsManager);
            ProgramViewModel    = new ProgramViewModel(courseRepository);
            ReportViewModel     = new ReportViewModel(courseRepository);
            CourseViewModel     = new CourseViewModel(courseRepository);
            ConfigViewModel     = new ConfigViewModel(databaseManagementService, settingsManager);
        }
 public ProgramViewModel(ICourseInfoRepository courseRepository)
 {
     this.courseRepository = courseRepository ?? throw new ArgumentNullException(nameof(courseRepository));
     refreshCourses();
     SelectedOutcome = Outcomes.FirstOrDefault();
     FilterText      = string.Empty;
     MessengerInstance.Register <RefreshDatabaseMessage>(this, (m) => refreshCourses());
     SaveButtonContent = defaultSaveButtonContent;
     CanSave           = true;
     IsDirty           = false;
 }
예제 #3
0
        public MainWindowViewModel(ICourseInfoRepository courseRepository, ISettingsManager <MySettings> settingsManager)
        {
            this.courseRepository = courseRepository ?? throw new ArgumentNullException(nameof(courseRepository));

            if (settingsManager is null)
            {
                throw new ArgumentNullException(nameof(settingsManager));
            }

            refreshConnections(settingsManager);
            MessengerInstance.Register <RefreshDatabaseConnectionsMessage>(this, (m) => refreshConnections(settingsManager));
        }
예제 #4
0
 public ReportViewModel(ProgramPlanning.Shared.Services.ICourseInfoRepository courseRepository)
 {
     this.courseRepository = courseRepository;
     TemplatePath          = @"c:\git\programplanning\data\LearningOutcomeSurvey_Template.xlsx";
 }
 public CourseViewModel(ICourseInfoRepository courseRepository)
 {
     this.courseRepository = courseRepository ?? throw new ArgumentNullException(nameof(courseRepository));
     refreshCourses();
     MessengerInstance.Register <RefreshDatabaseMessage>(this, (m) => refreshCourses());
 }
예제 #6
0
        public IndividualCourseViewModel(Course course, ICourseInfoRepository courseRepository)
        {
            Course = course ?? throw new ArgumentNullException(nameof(course));

            this.courseRepository = courseRepository ?? throw new ArgumentNullException(nameof(courseRepository));
        }