def METHOD_NAME(self) -> Model:
    self.validate()
    assert self._model
    try:
        report_schedule = ReportScheduleDAO.update(self._model, self._properties)
    except DAOUpdateFailedError as ex:
        logger.exception(ex.exception)
        raise ReportScheduleUpdateFailedError() from ex
    return report_schedule