Exemplo n.º 1
0
        private static CourseListViewModel CreateViewModel(
            ICourseUpdater courseUpdater          = null,
            ICourseRepository repository          = null,
            IPreferencesUtility preferences       = null,
            IDateTimeUtility dateTime             = null,
            IDbConnection dbConnection            = null,
            ISecureStorageUtility secureStorage   = null,
            IBackgroundSyncUtility backgroundSync = null,
            IMessenger messenger = null
            )
        {
            if (courseUpdater == null)
            {
                courseUpdater = Substitute.For <ICourseUpdater>();

                courseUpdater.TryUpdateAsync().Returns(
                    Task.FromResult(Result.WithSuccess(new CourseUpdateInfo(true)))
                    );
            }

            if (repository == null)
            {
                repository = Substitute.For <ICourseRepository>();
                repository.All().Returns(new Course[0]);
            }

            var utcNow = DateTime.UtcNow;

            if (dateTime == null)
            {
                dateTime = Substitute.For <IDateTimeUtility>();
                dateTime.UtcNow.Returns(utcNow);
            }

            if (preferences == null)
            {
                preferences = Substitute.For <IPreferencesUtility>();
                preferences.LastCourseUpdateCheck.CompareTo(utcNow.AddMinutes(-30));
            }

            dbConnection   = dbConnection ?? Substitute.For <IDbConnection>();
            secureStorage  = secureStorage ?? Substitute.For <ISecureStorageUtility>();
            backgroundSync = backgroundSync ?? Substitute.For <IBackgroundSyncUtility>();
            messenger      = messenger ?? Substitute.For <IMessenger>();

            return(new CourseListViewModel(
                       courseUpdater,
                       repository,
                       preferences,
                       dateTime,
                       dbConnection,
                       secureStorage,
                       backgroundSync,
                       messenger
                       ));
        }
Exemplo n.º 2
0
 public CourseController(
     ICourseCreator courseCreator,
     ICourseUpdater courseUpdater,
     ICourseGetter courseGetter,
     ICourseDeleter courseDeleter)
 {
     _courseCreator = courseCreator;
     _courseUpdater = courseUpdater;
     _courseGetter  = courseGetter;
     _courseDeleter = courseDeleter;
 }
Exemplo n.º 3
0
        public CourseListViewModel(
            ICourseUpdater courseUpdater,
            ICourseRepository repository,
            IPreferencesUtility preferences,
            IDateTimeUtility dateTime,
            IDbConnection dbConnection,
            ISecureStorageUtility secureStorage,
            IBackgroundSyncUtility backgroundSync,
            IMessenger messenger
            )
        {
            _courseUpdater  = courseUpdater;
            _repository     = repository;
            _preferences    = preferences;
            _dateTime       = dateTime;
            _dbConnection   = dbConnection;
            _secureStorage  = secureStorage;
            _backgroundSync = backgroundSync;
            _messenger      = messenger;

            Courses = new CourseListItem[0];
        }
Exemplo n.º 4
0
        public UniversityController(

            IDepartmentsProvider departmentsProvider,
            IDepartmentDestructor departmentDestructor,
            IDepartmentCreator departmentCreatpr,
            IDepartmentUpdater departmentUpdater,
            ICoursesProvider coursesProviderd,
            ICourseCreator courseCreator,
            ICourseDestructor courseDestructor,
            ICourseUpdater courseUpdater,
            IEmployeesProvider employeesProvider,
            ITemplatesProvider templatesProvider)
        {
            _departmentsProvider  = departmentsProvider;
            _departmentDestructor = departmentDestructor;
            _departmentCreatpr    = departmentCreatpr;
            _departmentUpdater    = departmentUpdater;
            _courseCreator        = courseCreator;
            _courseDestructor     = courseDestructor;
            _courseUpdater        = courseUpdater;
            _employeesProvider    = employeesProvider;
            _templatesProvider    = templatesProvider;
            _coursesProvider      = coursesProviderd;
        }