public function saveConsignment(ConsignmentInterface $consignment)
    {
        $adapter = $this->getAdapter($consignment);

        $event = new EventConsignment($consignment);
        $this->eventDispatcher->dispatch(Events::PRE_CONSIGNMENT_SAVE, $event);

        if (! $consignment->getStatus()) {
            $consignment->setStatus(ConsignmentStatusList::STATUS_NEW);
        }

        try {
            $adapter->saveConsignment($consignment);
            $this->consignmentRepository->saveConsignment($consignment);
        } catch (\Exception $e) {
            throw new VendorAdapterException('Error during consignment saving.', null, $e);
        }

        $event = new EventConsignment($consignment);
        $this->eventDispatcher->dispatch(Events::POST_CONSIGNMENT_SAVE, $event);
    }