/**
  * {@inheritdoc}
  *
  * @param Price $price
  * @param Constraint $constraint
  */
 public function validate($price, Constraint $constraint)
 {
     if ($price->getValue() && !$price->getCurrency()) {
         /* @var $constraint Constraints\OptionalPrice */
         $this->context->addViolationAt('currency', $constraint->message);
     }
 }
 /**
  * @ORM\PrePersist
  * @ORM\PreUpdate
  */
 public function updatePrice()
 {
     $this->value = $this->price ? $this->price->getValue() : null;
     $this->currency = $this->price ? $this->price->getCurrency() : null;
 }