1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Catalog\Model;
- use Magento\Catalog\Api\ProductManagementInterface;
- use Magento\Catalog\Model\Product\Attribute\Source\Status;
- use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
- class ProductManagement implements ProductManagementInterface
- {
- /**
- * @var CollectionFactory
- */
- protected $productsFactory;
- /**
- * @param CollectionFactory $productsFactory
- */
- public function __construct(CollectionFactory $productsFactory)
- {
- $this->productsFactory = $productsFactory;
- }
- /**
- * {@inheritdoc}
- */
- public function getCount($status = null)
- {
- $products = $this->productsFactory->create();
- /** @var \Magento\Catalog\Model\ResourceModel\Product\Collection $products */
- switch ($status) {
- case Status::STATUS_ENABLED:
- $products->addAttributeToFilter('status', Status::STATUS_ENABLED);
- break;
- case Status::STATUS_DISABLED:
- $products->addAttributeToFilter('status', Status::STATUS_DISABLED);
- break;
- }
- return $products->getSize();
- }
- }
|