You are here

class StockLevelUpdater in Commerce Stock 8

Commerce Stock Local location level update worker.

@QueueWorker( id = "commerce_stock_local_stock_level_updater", title = @Translation("Commerce Stock Local stock level updater"), cron = {"time" = 30} )

@ToDo Inject the config factory instead of calling \Drupal::

Hierarchy

Expanded class hierarchy of StockLevelUpdater

File

modules/local_storage/src/Plugin/QueueWorker/StockLevelUpdater.php, line 18

Namespace

Drupal\commerce_stock_local\Plugin\QueueWorker
View source
class StockLevelUpdater extends QueueWorkerBase {

  /**
   * {@inheritdoc}
   */
  public function processItem($data) {
    $storage = \Drupal::entityTypeManager()
      ->getStorage($data['entity_type']);
    $entity = $storage
      ->load($data['entity_id']);
    if (!$entity) {
      return;
    }

    // Load the Stockupdate Service.
    $service = \Drupal::service('commerce_stock.local_stock_service');

    /** @var \Drupal\commerce_stock_local\LocalStockUpdater $updater */
    $updater = $service
      ->getStockUpdater();

    /** @var \Drupal\commerce_stock_local\StockLocationStorage $locationStorage */
    $locationStorage = \Drupal::entityTypeManager()
      ->getStorage('commerce_stock_location');
    $locations = $locationStorage
      ->loadEnabled($entity);
    foreach ($locations as $location) {
      $updater
        ->updateLocationStockLevel($location
        ->getId(), $entity);
    }
    $entity
      ->save();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
StockLevelUpdater::processItem public function Works on a single queue item. Overrides QueueWorkerInterface::processItem