/** * @param Event $event * @return CreateOrderCommand */ public function create(Event $event, StoreEntity $store) { $eventName = $event->getName(); switch ($eventName) { case EventInterface::NAME_ORDER_CREATED: $command = new CreateOrderCommand($event, $store); break; default: throw new \RuntimeException("ShopifyCommandFactory doesn't know how to create a command for event: " . $eventName); } return $command; }
/** * @param Event $event * @return CreateOrderHandler */ public function create(Event $event) { $eventName = $event->getName(); switch ($eventName) { case EventInterface::NAME_ORDER_CREATED: $handler = $this->createOrderHandler; break; default: throw new \RuntimeException("HandlerFactory doesn't know how to create a handler for event: " . $eventName); break; } return $handler; }