updateRepoWithNewActivities method

ActivityRepository updateRepoWithNewActivities(
  1. ActivityRepository repository,
  2. Iterable<ActivityModel> newActivities
)

Add newActivities to the repository.

Implementation

ActivityRepository updateRepoWithNewActivities(
  ActivityRepository repository,
  Iterable<ActivityModel> newActivities,
) {
  for (final activity in newActivities) {
    repository.asList.add(activity);
    repository.byId[activity.id] = activity;
    final date = activity.date.$1!.toDateOnly();
    if (repository.byDateTime.containsKey(date)) {
      repository.byDateTime[date]!.add(activity);
      repository.byDateTime[date]!.sortActivities();
    } else {
      repository.byDateTime[date] = [activity];
    }
  }
  repository.asList.sortActivities();
  return repository;
}