Skip to content
Code-Schnipsel Gruppen Projekte
Order.php 1,29 KiB
Newer Older
  • Learn to ignore specific revisions
  • Henning Leutz's avatar
    Henning Leutz committed
    <?php
    
    /**
     * This file contains QUI\ERP\Order\NumberRanges\Order
     */
    
    namespace QUI\ERP\Order\NumberRanges;
    
    use QUI;
    use QUI\ERP\Api\NumberRangeInterface;
    
    
    use function is_numeric;
    
    
    Henning Leutz's avatar
    Henning Leutz committed
    /**
     * Class Order
     * - Order range
     *
     * @package QUI\ERP\Order\NumberRanges
     */
    class Order implements NumberRangeInterface
    {
        /**
         * @param null|QUI\Locale $Locale
         *
         * @return string
         */
    
        public function getTitle(null | QUI\Locale $Locale = null): string
    
    Henning Leutz's avatar
    Henning Leutz committed
        {
            if ($Locale === null) {
                $Locale = QUI::getLocale();
            }
    
            return $Locale->get('quiqqer/order', 'order.numberrange.title');
        }
    
        /**
         * Return the current start range value
         *
         * @return int
         */
    
        public function getRange(): int
    
    Henning Leutz's avatar
    Henning Leutz committed
        {
    
            $Config = QUI::getPackage('quiqqer/order')->getConfig();
            $orderId = $Config->getValue('order', 'orderCurrentIdIndex');
    
    Henning Leutz's avatar
    Henning Leutz committed
    
    
            if (empty($orderId)) {
                return 1;
            }
    
            return (int)$orderId + 1;
    
    Henning Leutz's avatar
    Henning Leutz committed
        }
    
        /**
         * @param int $range
         */
    
        public function setRange(int $range): void
    
    Henning Leutz's avatar
    Henning Leutz committed
        {
    
            if (!is_numeric($range)) {
    
    Henning Leutz's avatar
    Henning Leutz committed
                return;
            }
    
    
            $Config = QUI::getPackage('quiqqer/order')->getConfig();
            $Config->set('order', 'orderCurrentIdIndex', $range);
            $Config->save();
    
    Henning Leutz's avatar
    Henning Leutz committed
        }
    }