scheduleFor method

List<TimedTask> scheduleFor(
  1. DateTime dateTime
)

Implementation

List<TimedTask> scheduleFor(DateTime dateTime) {
  final activeIntervention = getInterventionForDate(dateTime);

  // final Multimap<CompletionPeriod, Task> taskSchedule = Multimap<CompletionPeriod, Task>();
  final List<TimedTask> taskSchedule = [];

  if (activeIntervention == null) return taskSchedule;

  for (final task in activeIntervention.tasks) {
    if (task.title == null) continue;
    for (final completionPeriod in task.schedule.completionPeriods) {
      taskSchedule.add(TimedTask(task, completionPeriod));
    }
  }
  for (final observation in study.observations) {
    for (final completionPeriod in observation.schedule.completionPeriods) {
      taskSchedule.add(TimedTask(observation, completionPeriod));
    }
  }
  return taskSchedule;
}