public ViewNotificationsUseCaseFactory( ITaskItemRepositoryFactory taskItemRepositoryFactory, INotificationRepositoryFactory notificationRepositoryFactory) { this.taskItemRepositoryFactory = taskItemRepositoryFactory ?? throw new ArgumentNullException(nameof(taskItemRepositoryFactory)); this.notificationRepositoryFactory = notificationRepositoryFactory ?? throw new ArgumentNullException(nameof(notificationRepositoryFactory)); }
public void InitializeDomainFromDatabase( ITaskItemRepositoryFactory taskItemRepositoryFactory, INotificationManager notificationManager, ITaskManager taskManager, IClock clock) { /* * hook up to notfication added event now, so to retrieve new notifications generated by * the TaskItems being created below */ notificationManager.NotificationAdded += OnNotificationAdded; /* * read in task items from database. Create domain taskItems from * data and add items to taskManager */ ITaskItemRepository taskItemRepository = taskItemRepositoryFactory.New(); foreach (TaskItemDAL task in taskItemRepository.GetAll()) { INotificationFrequency notificationFrequency = null; if (task.customNotificationFrequency.HasValue) { CustomNotificationFrequencyDAL frequencyDAL = task.customNotificationFrequency.Value; notificationFrequency = NotificationFrequencyFactory.New( //TODO: do something safer than just a cast (NotificationFrequencyType)task.notificationFrequencyType, frequencyDAL.time ); } else { notificationFrequency = NotificationFrequencyFactory.New( //TODO: do something safer than just a cast (NotificationFrequencyType)task.notificationFrequencyType ); } taskManager.Add( new TaskItem( task.title, task.description, new Colour(task.r, task.g, task.b), task.startTime, notificationManager, notificationFrequency, clock, task.lastNotificationTime, task.id ) ); } }
public DeleteTaskUseCaseFactory( ITaskItemRepositoryFactory taskItemRepositoryFactory, INotificationRepositoryFactory notificationRepositoryFactory, BasicTaskManager taskItemManager, BasicNotificationManager notificationManager) { this.taskItemRepositoryFactory = taskItemRepositoryFactory ?? throw new ArgumentNullException(nameof(taskItemRepositoryFactory)); this.notificationRepositoryFactory = notificationRepositoryFactory ?? throw new ArgumentNullException(nameof(notificationRepositoryFactory)); this.taskItemManager = taskItemManager ?? throw new ArgumentNullException(nameof(taskItemManager)); this.notificationManager = notificationManager ?? throw new ArgumentNullException(nameof(notificationManager)); }
public CreateTaskUseCase( BasicTaskManager taskManager, BasicNotificationManager notificationManager, IClock clock, ITaskItemRepositoryFactory taskItemRepositoryFactory) { this.taskManager = taskManager ?? throw new ArgumentNullException(nameof(taskManager)); this.notificationManager = notificationManager ?? throw new ArgumentNullException(nameof(notificationManager)); this.clock = clock ?? throw new ArgumentNullException(nameof(clock)); this.taskItemRepositoryFactory = taskItemRepositoryFactory ?? throw new ArgumentNullException(nameof(taskItemRepositoryFactory)); }
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 ); }
public ViewTasksUseCaseFactory(BasicTaskManager taskManager, ITaskItemRepositoryFactory taskItemRepositoryFactory) { this.taskItemRepositoryFactory = taskItemRepositoryFactory ?? throw new ArgumentNullException(nameof(taskItemRepositoryFactory)); this.taskManager = taskManager; }
/// <summary> /// Constructs a new ViewTasksUseCase /// </summary> public ViewTasksUseCase(BasicTaskManager taskManager, ITaskItemRepositoryFactory taskItemRepositoryFactory) { this.taskManager = taskManager; this.taskItemRepositoryFactory = taskItemRepositoryFactory; }