Skip to content
Snippets Groups Projects
ListinstanceModelAbstract.php 2.27 KiB
Newer Older
  • Learn to ignore specific revisions
  • Damien's avatar
    Damien committed
    <?php
    
    /**
     * Copyright Maarch since 2008 under licence GPLv3.
     * See LICENCE.txt file at the root folder for more details.
     * This file is part of Maarch software.
     *
     */
    
    /**
     * @brief Listinstance Model Abstract
     * @author dev@maarch.org
     * @ingroup listinstance
     */
    
    namespace Core\Models;
    
    class ListinstanceModelAbstract
    {
    
        public static function getById(array $aArgs)
        {
            ValidatorModel::notEmpty($aArgs, ['id']);
            ValidatorModel::intVal($aArgs, ['id']);
            ValidatorModel::arrayType($aArgs, ['select']);
    
            $aListinstance = DatabaseModel::select([
                'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
                'table'     => ['listinstance'],
                'where'     => ['listinstance_id = ?'],
                'data'      => [$aArgs['id']],
            ]);
    
            if (empty($aListinstance[0])) {
                return [];
            }
    
            return $aListinstance[0];
        }
    
    
    Damien's avatar
    Damien committed
        public static function setSignatory(array $aArgs)
        {
            ValidatorModel::notEmpty($aArgs, ['resId', 'signatory', 'userId']);
            ValidatorModel::intVal($aArgs, ['resId']);
            ValidatorModel::stringType($aArgs, ['signatory', 'userId']);
    
            DatabaseModel::update([
                'table'     => 'listinstance',
                'set'       => [
                    'signatory' => $aArgs['signatory']
                ],
                'where'     => ['res_id = ?', 'item_id = ?', 'difflist_type = ?'],
                'data'      => [$aArgs['resId'], $aArgs['userId'], 'VISA_CIRCUIT'],
            ]);
    
            return true;
        }
    
    
        public static function getCurrentStepByResId(array $aArgs)
        {
            ValidatorModel::notEmpty($aArgs, ['resId']);
            ValidatorModel::intVal($aArgs, ['resId']);
            ValidatorModel::arrayType($aArgs, ['select']);
    
            $aListinstance = DatabaseModel::select([
                'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
                'table'     => ['listinstance'],
                'where'     => ['res_id = ?', 'difflist_type = ?', 'process_date is null'],
                'data'      => [$aArgs['resId'], 'VISA_CIRCUIT'],
                'order_by'  => ['listinstance_id ASC'],
                'limit'     => 1
            ]);
    
            if (empty($aListinstance[0])) {
                return [];
            }
    
            return $aListinstance[0];
        }
    
    Damien's avatar
    Damien committed
    }