<?
// класс для произвольного устройства
namespace esmo\pl;
use i_db_object;
class i_pl_client extends i_db_object
{
    static $table_name = 'pl_clients';
    static $table_title = 'ПЛ - участники обмена';

    static $class_name = 'ПЛ - участник обмена';
    static $clss = 780;
    static $class_descr=['name'=>'Клиент (участник обмена)',
                         'parent'=>0,
                         'fields'=>['obj_name'=>'varchar(255)',
                                    'full_name'=>'varchar(255)',
                                    'inn'=>'varchar(11)',
                                    'email'=>'varchar(255)',
                                    'phone'=>'varchar(255)',
                                    'ext_info'=>'text',
                                   ],
                        'index'=>[],
        ] ;

    public static function create($form_data, $options = array())
    {
        $result = [];

        // проверка на валидность переданных параметров
        //$id_exist = execSQL_value('select pkey from ' . static::$table_name . ' where clss='.static::$clss.' and obj_name="' . $form_data['name'] . '"');
        //if ($id_exist) $result=['error' => 'Устройство с данным наименованием уже зарегистрировано'] ;

        if (!$result['error'])
        {
            // формируем запись для базы
            $data = array();
            $data['clss'] = static::$clss;
            $data['indx'] = 1;
            if (isset($form_data['name'])) $data['obj_name'] = $form_data['name'];
            if (isset($form_data['full_name'])) $data['full_name'] = $form_data['full_name'];
            if (isset($form_data['inn'])) $data['inn'] = $form_data['inn'];

            // добавляем в базу
            $id = adding_rec_to_table(static::$table_name, $data);
            $result['id'] = $id;

            if ($id) {
                $result['status'] = 'success';
                $result['info'] = 'Клиент успешно добавлен';
            } else {
                $result['status'] = 'failed';
                $result['error'] = 'Не удалось добавить клиента';
            }
        }


        return ($result);
    }

    public static function save($id, $form_data, $options = [])
    {
        $data = $form_data;
        //damp_array($data);
        $cnt = update_rec_in_table(static::$table_name, $data, 'pkey=' . $id);
        return ($cnt);
    }

    public static function delete($pkey, $options = [])
    {
        $result = [];
        $rec_terminal = execSQL_van('select * from ' . static::$table_name . ' where pkey=' . $pkey);
        //damp_array($rec_terminal);
        $res = execSQL_update('delete from ' . static::$table_name . ' where pkey=' . $pkey);
        if ($res) $result['info'] = 'Устройство успешно удалено, ID=' . $rec_terminal['device_id'];
        $result['reffer'] = $pkey . '.' . _DOT(static::$table_name)->pkey;
        return $result;
    }


}

?>
