/**
  * @param PackageInterface $package
  * @param mixed $message
  */
 private function savePackage(PackageInterface $package, $message)
 {
     $package->setAlias($message->alias);
     $package->setName($message->name);
     $package->setDescription($message->description);
     $package->setSpan($message->span);
     $package->setPrice($message->price);
     $package->setWeight($message->weight);
     $package->setInitial($message->initial);
     $this->packageManager->updatePackage($package);
 }
 /**
  * @param SubscriptionCancelCommand $message
  *
  * @throws \Baboon\SubscriptionBundle\Exception\PackageNotFoundException
  * @throws \Baboon\SubscriptionBundle\Exception\SubscriptionManageException
  */
 public function cancelSubscription(SubscriptionCancelCommand $message)
 {
     if (null === ($package = $this->packageManager->findInitial())) {
         throw new PackageNotFoundException('Initial package');
     }
     $currentPackage = $this->subscriptionProvider->getPackage();
     if (null !== $currentPackage && $currentPackage->isInitial()) {
         throw new SubscriptionManageException(sprintf('Current package "%s" not cancelable', $currentPackage));
     }
     if (null !== ($subscription = $this->subscriptionProvider->getSubscription())) {
         $subscription->select($package);
         $this->subscriptionManager->updateSubscription($subscription);
         $this->eventRecorder->record(new SubscriptionCanceledEvent($subscription));
     }
 }
 protected function deleteItem($item)
 {
     $this->manager->deletePackage($item);
 }