Esempio n. 1
0
        //TODO: Get rid of all the magic strings in this class
        public TaskItemRepository(string connStr, INotificationFrequencyRepositoryFactory notificationFrequencyRepositoryFactory)
        {
            adapter = NewTaskItemAdapter(connStr);

            table = new DataTable("Tasks");
            adapter.FillSchema(table, SchemaType.Source);
            adapter.Fill(table);

            notificationFrequencyRepository = notificationFrequencyRepositoryFactory.New();
        }
Esempio n. 2
0
        public TaskSchedulerApplication(
            ITaskItemRepositoryFactory taskItemRepositoryFactory,
            INotificationFrequencyRepositoryFactory notificationFrequencyRepositoryFactory,
            INotificationRepositoryFactory notificationRepositoryFactory,
            IClock clock)
        {
            this.taskItemRepositoryFactory = taskItemRepositoryFactory ?? throw new ArgumentNullException(nameof(taskItemRepositoryFactory));
            this.notificationFrequencyRepositoryFactory = notificationFrequencyRepositoryFactory ?? throw new ArgumentNullException(nameof(notificationFrequencyRepositoryFactory));
            this.notificationRepositoryFactory          = notificationRepositoryFactory ?? throw new ArgumentNullException(nameof(notificationRepositoryFactory));
            this.clock = clock ?? throw new ArgumentNullException(nameof(clock));

            this.InitializeDomainFromDatabase(
                taskItemRepositoryFactory,
                notificationManager,
                taskManager,
                clock
                );

            //CREATE USE-CASE FACTORIES
            createTaskUseCaseFactory =
                new CreateTaskUseCaseFactory(
                    taskManager,
                    notificationManager,
                    clock,
                    taskItemRepositoryFactory
                    );

            viewTasksUseCaseFactory =
                new ViewTasksUseCaseFactory(taskManager, taskItemRepositoryFactory);

            viewNotificationsUseCaseFactory =
                new ViewNotificationsUseCaseFactory(
                    taskItemRepositoryFactory,
                    notificationRepositoryFactory
                    );

            deleteTaskUseCaseFactory =
                new DeleteTaskUseCaseFactory(
                    taskItemRepositoryFactory,
                    notificationRepositoryFactory,
                    taskManager,
                    notificationManager
                    );
        }