public function _launchOrder($from, $to, $action)
{
switch ($action) {
case static::ACT_CONVERT_TO_OBJECT:
/* @var $from Farm */
$to->launchOrder = $from->launchOrder ? static::LAUNCH_ORDER_SEQUENTIAL : static::LAUNCH_ORDER_SIMULATENOUS;
break;
case static::ACT_CONVERT_TO_ENTITY:
/* @var $to Farm */
switch (strtolower($from->launchOrder)) {
case static::LAUNCH_ORDER_SIMULATENOUS:
$to->launchOrder = false;
break;
case static::LAUNCH_ORDER_SEQUENTIAL:
$to->launchOrder = true;
break;
default:
throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Unexpected launchOrder value");
}
break;
case static::ACT_GET_FILTER_CRITERIA:
switch (strtolower($from->launchOrder)) {
case static::LAUNCH_ORDER_SIMULATENOUS:
$launchOrder = false;
break;
case static::LAUNCH_ORDER_SEQUENTIAL:
$launchOrder = true;
break;
default:
throw new ApiErrorException(400, ErrorMessage::ERR_INVALID_VALUE, "Unexpected scope value");
}
return [['launchOrder' => $launchOrder]];
}
}