'Mark all the entries as seen or read
:param seen: set seen_at
:param read: set read_at'

def mark_all(self, seen=True, read=None):

    with self.redis.lock(self.lock_key, timeout=10):
        aggregated_activities = self[:self.max_length]
        update_dict = {}
        for aggregated_activity in aggregated_activities:
            changed = False
            old_activity = copy.deepcopy(aggregated_activity)
            if ((seen is True) and (not aggregated_activity.is_seen())):
                aggregated_activity.update_seen_at()
                changed = True
            if ((read is True) and (not aggregated_activity.is_read())):
                aggregated_activity.update_read_at()
                changed = True
            if changed:
                update_dict[old_activity] = aggregated_activity
        (new, deleted) = ([], [])
        changed = update_dict.items()
        self._update_from_diff(new, changed, deleted)
    self.denormalize_count()
    return aggregated_activities
