<?phpdeclare(strict_types=1);namespace Slivki\Entity;use Slivki\Services\Offer\CustomProductOfferSorter;class FoodFilterCounter{    private $ID;    private $entityID;    private $open;    private $recommended;    private $popular;    private $speed;    private $ascPrice;    private $descPrice;    private $priceByKg;    private int $popularDay;    private int $priceByKgDesc;    public function __construct(int $entityID)    {        $this->entityID = $entityID;        $this->popularDay = 0;        $this->priceByKgDesc = 0;    }    public function getID(): int    {        return $this->ID;    }    public function getEntityID(): int    {        return $this->entityID;    }    public function getOpen(): ?int    {        return $this->open;    }    public function getRecommended(): ?int    {        return $this->recommended;    }    public function getPopular(): ?int    {        return $this->popular;    }    public function getSpeed(): ?int    {        return $this->speed;    }    public function getAscPrice(): ?int    {        return $this->ascPrice;    }    public function getDescPrice(): ?int    {        return $this->descPrice;    }    public function getPriceByKg(): ?int    {        return $this->priceByKg;    }    public function getPopularDay(): int    {        return $this->popularDay;    }    public function getPriceByKgDesc(): int    {        return $this->priceByKgDesc;    }    public function increaseDeliverySortFilterStat(string $sort): void    {        switch ($sort) {            case CustomProductOfferSorter::DEFAULT_CUSTOM_PRODUCT_SORT:                $this->increaseRecommended();                break;            case CustomProductOfferSorter::POPULARITY_CUSTOM_PRODUCT_SORT:                $this->increasePopular();                break;            case CustomProductOfferSorter::FAST_CUSTOM_PRODUCT_SORT:                $this->increaseSpeed();                break;            case CustomProductOfferSorter::PRICE_CUSTOM_PRODUCT_SORT:                $this->increaseAscPrice();                break;            case CustomProductOfferSorter::EXPENSIVE_CUSTOM_PRODUCT_SORT:                $this->increaseDescPrice();                break;            case CustomProductOfferSorter::PRICE_CUSTOM_PRODUCT_PRICE_PER_KILOGRAM:                $this->increasePriceByKg();                break;            case CustomProductOfferSorter::OPEN_FILTER:                $this->increaseOpen();                break;            case CustomProductOfferSorter::POPULARITY_DAY_CUSTOM_PRODUCT_SORT:                $this->increasePopularDay();                break;            case CustomProductOfferSorter::PRICE_CUSTOM_PRODUCT_PRICE_PER_KILOGRAM_DESC:                $this->increasePriceByKgDesc();                break;        }    }    private function increaseOpen(): void    {        ++$this->open;    }    private function increasePriceByKg(): void    {        ++$this->priceByKg;    }    private function increaseDescPrice(): void    {        ++$this->descPrice;    }    private function increaseAscPrice(): void    {        ++$this->ascPrice;    }    private function increaseSpeed(): void    {        ++$this->speed;    }    private function increasePopular(): void    {        ++$this->popular;    }    private function increaseRecommended() : void    {        ++$this->recommended;    }    private function increasePopularDay(): void    {        ++$this->popularDay;    }    private function increasePriceByKgDesc(): void    {        ++$this->priceByKgDesc;    }}