<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
use App\Util\UUIDGeneratorUtil;
/**
* Description of TypePtsGenericDefinitionRules
* @author aealan
* @ORM\Table(name="type_pts_generic_definition_rules")
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity(repositoryClass="App\Repository\TypePtsGenericDefinitionRulesRepository")
*/
class TypePtsGenericDefinitionRules {
///////////////////// generic types
const BASIC_TYPE_PURCHASE = 1;
const BASIC_TYPE_PURCHASE_WITH_PTS = 2;
const BASIC_TYPE_RATE = 3;
const BASIC_TYPE_REVIEW = 4;
const BASIC_TYPE_VISIT = 5;
const BASIC_TYPE_UPLOAD_PICTURE = 6;
const BASIC_TYPE_SUGGEST = 7;
const BASIC_TYPE_EXCHANGE = 8;
const BASIC_TYPE_ADJUST = 9;
const BASIC_TYPE_CANCEL = 10;
///////////////////// explicit types
const TYPE_PURCHASE_DINEIN = 1;
const TYPE_PURCHASE_COUNTER = 2;
const TYPE_PURCHASE_PHONEORDER_PICKUP = 31;
const TYPE_PURCHASE_PHONEORDER_DELIVERY = 32;
const TYPE_PURCHASE_PHONEORDER_DINEIN = 33;
const TYPE_PURCHASE_PHONEORDER_TURNBYLABEL = 34;
const TYPE_PURCHASE_PHONEORDER_TURNBYAUTO = 35;
const TYPE_PURCHASE_BARTAB = 4;
const TYPE_PURCHASE_DRIVETHRU = 5;
const TYPE_PURCHASE_WITH_GIFTCARD = 6;
const TYPE_PURCHASE_WITH_COUPON = 7;
// const TYPE_PURCHASE_DELIVERY = 3;
// const TYPE_PURCHASE_DINEIN = 4;
// const TYPE_PURCHASE_PICKUP = 5;
const TYPE_PURCHASE_WITH_LOCAL_PTS = 8;
const TYPE_PURCHASE_WITH_GLOBAL_PTS = 9;
const TYPE_PURCHASE_WITH_CUSTOM_PTS = 10;
const TYPE_RATE_RESTAURANT = 11;
const TYPE_RATE_CHEF = 12;
const TYPE_RATE_DISH = 13;
const TYPE_REVIEW_MAKE_COMMENT = 14;
const TYPE_REVIEW_MAKE_REPLY = 15;
const TYPE_VISIT_RESTAURANT_MENU = 16;
const TYPE_VISIT_RESTAURANT_GALLERY = 17;
const TYPE_UPLOAD_PICTURE_RESTAURANT_REVIEW = 18;
const TYPE_UPLOAD_PICTURE_RESTAURANT_DISH = 19;
const TYPE_SUGGEST_RESTAURANT = 20;
const TYPE_SUGGEST_RESTAURANT_DISH = 21;
const TYPE_EXCHANGE_POINTS_TO_GIFCARD = 22;
const TYPE_EXCHANGE_GIFTCARD_TO_POINTS = 23;
// const TYPE_ADJUST_DELIVERY = 22;
// const TYPE_ADJUST_DINEIN = 23;
// const TYPE_ADJUST_PICKUP = 24;
const TYPE_ADJUST_DINEIN = 22;
const TYPE_ADJUST_COUNTER = 23;
const TYPE_ADJUST_PHONEORDER_PICKUP = 24;
const TYPE_ADJUST_PHONEORDER_DELIVERY = 25;
const TYPE_ADJUST_PHONEORDER_DINEIN = 26;
const TYPE_ADJUST_PHONEORDER_TURNBYLABEL = 27;
const TYPE_ADJUST_PHONEORDER_TURNBYAUTO = 28;
const TYPE_ADJUST_BARTAB = 29;
const TYPE_ADJUST_DRIVETHRU = 30;
const TYPE_ADJUST_WITH_LOCAL_PTS = 36;
const TYPE_ADJUST_WITH_GLOBAL_PTS = 37;
const TYPE_ADJUST_WITH_CUSTOM_PTS = 38;
const TYPE_CANCEL_DELIVERY = 39;
const TYPE_CANCEL_DINEIN = 40;
const TYPE_CANCEL_PICKUP = 41;
const TYPE_CANCEL_WITH_LOCAL_PTS = 42;
const TYPE_CANCEL_WITH_GLOBAL_PTS = 43;
const TYPE_CANCEL_WITH_CUSTOM_PTS = 44;
/*
{
DINE_IN: {
ID: '1',
LABEL: 'MENU.DINE_IN.LABEL'
},
COUNTER: {
ID: '2',
LABEL: 'MENU.COUNTER.LABEL',
TABLE_ID: '1'
},
PHONE_ORDER: {
ID: '3',
LABEL: 'MENU.PHONE_ORDER.LABEL',
TABLE_ID: '1',
PHONE_ORDER_TYPE: {
PICKUP: {
ID: '1',
LABEL: 'PHONE_ORDER.GENERAL_FORM.PICKUP.LABEL'
},
DELIVERY: {
ID: '2',
LABEL: 'PHONE_ORDER.GENERAL_FORM.DELIVERY.LABEL'
},
DINE_IN: {
ID: '3',
LABEL: 'MENU.DINE_IN.LABEL'
},
TURN_BY_LABEL: {
ID: '4',
LABEL: 'MENU.DINE_IN.TURN_BY_LABEL'
},
TURN_BY_AUTO: {
ID: '5',
LABEL: 'MENU.DINE_IN.TURN_BY_AUTO'
}
}
},
BAR_TAB: {
ID: '4',
LABEL: 'MENU.BAR_TAB.LABEL',
TABLE_ID: '1'
},
DRIVE_THRU: {
ID: '5',
LABEL: 'MENU.DRIVE_THRU.LABEL',
TABLE_ID: '1'
}
}
*/
/**
* @var integer
* @ORM\Column(name="pgdr_id", type="guid")
* @ORM\Id
* @ORM\GeneratedValue(strategy="NONE")
*/
private $id;
/**
* @var string
* @ORM\Column(name="pgdr_name", type="string", length=100, nullable=false)
*/
private $name;
/**
* @var string
* @ORM\Column(name="pgdr_basic_type", type="integer")
*/
private $basicType;
/**
* @var string
* @ORM\Column(name="pgdr_type", type="integer")
*/
private $type;
/**
* @var integer
* @ORM\Column(name="pgdr_effect", type="boolean")
*/
private $effect = true;
/**
* @return type
*/
public function getId() {
return $this->id;
}
/**
* @return type
*/
public function getName() {
return $this->name;
}
/**
* @return type
*/
public function getBasicType() {
return $this->basicType;
}
/**
* @return type
*/
public function getType() {
return $this->type;
}
/**
* @return type
*/
public function getEffect() {
return $this->effect;
}
/**
* @param type $id
*/
public function setId($id) {
$this->id = $id;
}
/**
* @param type $name
*/
public function setName($name) {
$this->name = $name;
}
/**
* @param type $basicType
*/
public function setBasicType($basicType) {
$this->basicType = $basicType;
}
/**
* @param type $type
*/
public function setType($type) {
$this->type = $type;
}
/**
* @param type $effect
*/
public function setEffect($effect) {
$this->effect = $effect;
}
/**
* @ORM\PrePersist
*/
public function syncPrePersist() {
if (!$this->id) {
$newUUID = UUIDGeneratorUtil::getUUIDv4();
$this->setId($newUUID);
}
}
/**
* @return type
*/
public function showEverything() {
return get_object_vars($this);
}
}