def METHOD_NAME(self):
    if self.session_block:
        # if we have a session block we reschedule the entries inside that block
        for entry in self.session_block.timetable_entry.children:
            # the block should only have entries on the same day
            if entry.start_dt.astimezone(self.event.tzinfo).date() != self.day:
                raise NoReportError.wrap_exc(BadRequest(_('This action cannot be completed because the event dates'
                                                          ' have changed. Please reload the page and try again.')))
            yield entry
    elif self.session:
        # if we have a session we reschedule the blocks of that session on the day
        for block in self.session.blocks:
            if not block.timetable_entry:
                continue
            if block.timetable_entry.start_dt.astimezone(self.event.tzinfo).date() == self.day:
                yield block.timetable_entry
    else:
        # if we are on the top level we reschedule all top-level entries on the day
        query = (self.event.timetable_entries
                 .filter(TimetableEntry.parent_id.is_(None),
                         db.cast(TimetableEntry.start_dt.astimezone(self.event.tzinfo), db.Date) == self.day))
        for entry in query:
            yield entry