%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/sale/lib/internals/
Upload File :
Create Path :
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/sale/lib/internals/orderround.php

<?php
namespace Bitrix\Sale\Internals;

use Bitrix\Main,
	Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);

/**
 * Class OrderRoundTable
 *
 * Fields:
 * <ul>
 * <li> ID int mandatory
 * <li> ORDER_ID int mandatory
 * <li> APPLY_BLOCK_COUNTER int mandatory
 * <li> ORDER_ROUND string(1) mandatory
 * <li> ENTITY_TYPE int mandatory
 * <li> ENTITY_ID int mandatory
 * <li> ENTITY_VALUE string(255) optional
 * <li> APPLY string(1) mandatory
 * <li> ROUND_RULE string mandatory
 * </ul>
 *
 * @package Bitrix\Sale
 **/

class OrderRoundTable extends Main\Entity\DataManager
{
	const ENTITY_TYPE_BASKET_ITEM = 0x0001;
	/** @deprecated */
	const ENTITY_TYPE_BASKET = self::ENTITY_TYPE_BASKET_ITEM;

	/**
	 * Returns DB table name for entity.
	 *
	 * @return string
	 */
	public static function getTableName()
	{
		return 'b_sale_order_round';
	}

	/**
	 * Returns entity map definition.
	 *
	 * @return array
	 */
	public static function getMap()
	{
		return array(
			'ID' => new Main\Entity\IntegerField('ID', array(
				'primary' => true,
				'autocomplete' => true,
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ID_FIELD')
			)),
			'ORDER_ID' => new Main\Entity\IntegerField('ORDER_ID', array(
				'required' => true,
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ORDER_ID_FIELD')
			)),
			'APPLY_BLOCK_COUNTER' => new Main\Entity\IntegerField('APPLY_BLOCK_COUNTER', array(
				'required' => true,
			)),
			'ORDER_ROUND' => new Main\Entity\BooleanField('ORDER_ROUND', array(
				'required' => true,
				'values' => array('N', 'Y'),
				'default_value' => 'Y',
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ORDER_ROUND_FIELD')
			)),
			'ENTITY_TYPE' => new Main\Entity\EnumField('ENTITY_TYPE', array(
				'required' => true,
				'values' => array(self::ENTITY_TYPE_BASKET_ITEM),
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ENTITY_TYPE_FIELD')
			)),
			'ENTITY_ID' => new Main\Entity\IntegerField('ENTITY_ID', array(
				'required' => true,
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ENTITY_ID_FIELD')
			)),
			'ENTITY_VALUE' => new Main\Entity\StringField('ENTITY_VALUE', array(
				'validation' => array(__CLASS__, 'validateEntityValue'),
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_ENTITY_VALUE_FIELD')
			)),
			'APPLY' => new Main\Entity\BooleanField('APPLY', array(
				'required' => true,
				'values' => array('N', 'Y'),
				'title' => Loc::getMessage('ORDER_ROUND_ENTITY_APPLY_FIELD')
			)),
			'ROUND_RULE' => new Main\Entity\TextField('ROUND_RULE', array(
				'required' => true,
				'serialized' => true
			))
		);
	}

	/**
	 * Returns validators for ENTITY_VALUE field.
	 *
	 * @return array
	 */
	public static function validateEntityValue()
	{
		return array(
			new Main\Entity\Validator\Length(null, 255),
		);
	}

	/**
	 * Delete data by order.
	 *
	 * @param int $order		Order id.
	 * @return bool
	 */
	public static function clearByOrder($order)
	{
		$order = (int)$order;
		if ($order <= 0)
			return false;

		$conn = Main\Application::getConnection();
		$helper = $conn->getSqlHelper();
		$conn->queryExecute('delete from '.$helper->quote(self::getTableName()).' where '.$helper->quote('ORDER_ID').' = '.$order);
		unset($helper, $conn);

		return true;
	}
}

Zerion Mini Shell 1.0