public function checkPermission($projectId, array $criteria)
{
$and = '';
foreach ($criteria as $name => $value) {
$field = 'f.' . \Scalr::decamelize($name);
$and .= " AND " . $field . "=" . $this->db->escape($value);
}
$projectEntity = new ProjectEntity();
$projectId = $projectEntity->type('projectId')->toDb($projectId);
$where = " WHERE p.project_id = UNHEX('" . $projectId . "') AND EXISTS (\n SELECT * FROM farms f\n LEFT JOIN farm_settings fs ON f.id = fs.farmid\n WHERE fs.name = '" . Entity\FarmSetting::PROJECT_ID . "'\n AND REPLACE(fs.value, '-', '') = HEX(p.project_id)\n {$and})";
$sql = "SELECT " . $projectEntity->fields('p') . "\n FROM " . $projectEntity->table('p') . $where;
return $this->db->GetOne($sql);
}