You are here

public function OrderItemProduct::evaluate in Commerce Core 8.2

Evaluates the condition.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity.

Return value

bool TRUE if the condition has been met, FALSE otherwise.

Overrides ConditionInterface::evaluate

File

modules/product/src/Plugin/Commerce/Condition/OrderItemProduct.php, line 75

Class

OrderItemProduct
Provides the product condition for order items.

Namespace

Drupal\commerce_product\Plugin\Commerce\Condition

Code

public function evaluate(EntityInterface $entity) {
  $this
    ->assertEntity($entity);

  /** @var \Drupal\commerce_order\Entity\OrderItemInterface $order_item */
  $order_item = $entity;

  /** @var \Drupal\commerce_product\Entity\ProductVariationInterface $purchased_entity */
  $purchased_entity = $order_item
    ->getPurchasedEntity();
  if (!$purchased_entity || $purchased_entity
    ->getEntityTypeId() != 'commerce_product_variation') {
    return FALSE;
  }
  $product_ids = $this
    ->getProductIds();
  return in_array($purchased_entity
    ->getProductId(), $product_ids);
}