123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\NewRelicReporting\Model;
- use Magento\Catalog\Api\ProductManagementInterface;
- use Magento\Catalog\Model\Product\Attribute\Source\Status;
- use Magento\ConfigurableProduct\Api\ConfigurableProductManagementInterface;
- use Magento\Catalog\Api\CategoryManagementInterface;
- use Magento\Customer\Api\CustomerManagementInterface;
- use Magento\Store\Api\WebsiteManagementInterface;
- use Magento\Store\Api\StoreManagementInterface;
- class Counter
- {
- /**
- * @var ProductManagementInterface
- */
- protected $productManagement;
- /**
- * @var ConfigurableProductManagementInterface
- */
- protected $configurableManagement;
- /**
- * @var CategoryManagementInterface
- */
- protected $categoryManagement;
- /**
- * @var CustomerManagementInterface
- */
- protected $customerManagement;
- /**
- * @var WebsiteManagementInterface
- */
- protected $websiteManagement;
- /**
- * @var StoreManagementInterface
- */
- protected $storeManagement;
- /**
- * Constructor
- *
- * @param ProductManagementInterface $productManagement
- * @param ConfigurableProductManagementInterface $configurableManagement
- * @param CategoryManagementInterface $categoryManagement
- * @param CustomerManagementInterface $customerManagement
- * @param WebsiteManagementInterface $websiteManagement
- * @param StoreManagementInterface $storeManagement
- */
- public function __construct(
- ProductManagementInterface $productManagement,
- ConfigurableProductManagementInterface $configurableManagement,
- CategoryManagementInterface $categoryManagement,
- CustomerManagementInterface $customerManagement,
- WebsiteManagementInterface $websiteManagement,
- StoreManagementInterface $storeManagement
- ) {
- $this->productManagement = $productManagement;
- $this->configurableManagement = $configurableManagement;
- $this->categoryManagement = $categoryManagement;
- $this->customerManagement = $customerManagement;
- $this->websiteManagement = $websiteManagement;
- $this->storeManagement = $storeManagement;
- }
- /**
- * Get count of all products, no conditions
- *
- * @return int
- */
- public function getAllProductsCount()
- {
- $count = $this->productManagement->getCount();
- return (int)$count;
- }
- /**
- * Get count of configurable products
- *
- * @return int
- */
- public function getConfigurableCount()
- {
- $count = $this->configurableManagement->getCount();
- return (int)$count;
- }
- /**
- * Get count of products which are active
- *
- * @return int
- */
- public function getActiveCatalogSize()
- {
- $count = $this->productManagement->getCount(Status::STATUS_ENABLED);
- return (int)$count;
- }
- /**
- * Get count of categories, minus one which is the root category
- *
- * @return int
- */
- public function getCategoryCount()
- {
- $count = $this->categoryManagement->getCount();
- return (int)$count;
- }
- /**
- * Get customer count
- *
- * @return int
- */
- public function getCustomerCount()
- {
- $count = $this->customerManagement->getCount();
- return (int)$count;
- }
- /**
- * Get count of websites, minus one to exclude admin website
- *
- * @return int
- */
- public function getWebsiteCount()
- {
- $count = $this->websiteManagement->getCount();
- return (int)$count;
- }
- /**
- * Get count of store views
- *
- * @return int
- */
- public function getStoreViewsCount()
- {
- $count = $this->storeManagement->getCount();
- return (int)$count;
- }
- }
|