public function deleteRole($roleId, $status = Role::STATUS_DEFINED)
{
$deleteRoleQuery = $this->handler->createDeleteQuery();
if ($status !== Role::STATUS_DRAFT) {
$deleteAssignmentsQuery = $this->handler->createDeleteQuery();
$deleteAssignmentsQuery->deleteFrom($this->handler->quoteTable('ezuser_role'))->where($deleteAssignmentsQuery->expr->eq($this->handler->quoteColumn('role_id'), $deleteAssignmentsQuery->bindValue($roleId, null, \PDO::PARAM_INT)));
$draftCondition = $deleteRoleQuery->expr->eq($this->handler->quoteColumn('version', 'ezrole'), $deleteRoleQuery->bindValue(Role::STATUS_DEFINED, null, \PDO::PARAM_INT));
} else {
$draftCondition = $deleteRoleQuery->expr->neq($this->handler->quoteColumn('version', 'ezrole'), $deleteRoleQuery->bindValue(Role::STATUS_DEFINED, null, \PDO::PARAM_INT));
}
$deleteRoleQuery->deleteFrom($this->handler->quoteTable('ezrole'))->where($deleteRoleQuery->expr->lAnd($deleteRoleQuery->expr->eq($this->handler->quoteColumn('id'), $deleteRoleQuery->bindValue($roleId, null, \PDO::PARAM_INT)), $draftCondition));
if ($status !== Role::STATUS_DRAFT) {
$deleteAssignmentsQuery->prepare()->execute();
}
$deleteRoleQuery->prepare()->execute();
}