From fa5122235a678dc97f29bc7aa111e2ea072a5d59 Mon Sep 17 00:00:00 2001 From: Ramon Gutierrez Date: Wed, 31 Jan 2018 23:55:16 +0800 Subject: [PATCH] Add customer classification field --- src/Entity/Customer.php | 47 +++++++++++++++++++++++++++ src/Ramcar/CustomerClassification.php | 20 ++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 src/Ramcar/CustomerClassification.php diff --git a/src/Entity/Customer.php b/src/Entity/Customer.php index f9939d1f..fb1b083b 100644 --- a/src/Entity/Customer.php +++ b/src/Entity/Customer.php @@ -34,6 +34,13 @@ class Customer */ protected $last_name; + // customer classification + /** + * @ORM\Column(type="string", length=80) + * @Assert\NotBlank() + */ + protected $customer_classification; + /** * @ORM\Column(type="text", length=80) */ @@ -75,12 +82,21 @@ class Customer */ protected $flag_confirmed; + // if registered on mobile app + /** + * @ORM\Column(type="boolean") + */ + protected $flag_mobile_app; + public function __construct() { $this->numbers = new ArrayCollection(); $this->sessions = new ArrayCollection(); $this->vehicles = new ArrayCollection(); $this->job_orders = new ArrayCollection(); + + $this->flag_confirmed = false; + $this->flag_mobile_app = false; } public function getID() @@ -110,6 +126,17 @@ class Customer return $this->last_name; } + public function setCustomerClassification($customer_classification) + { + $this->customer_classification = $customer_classification; + return $this; + } + + public function getCustomerClassification() + { + return $this->customer_classification; + } + public function setCustomerNotes($customer_notes) { $this->customer_notes = $customer_notes; @@ -147,6 +174,15 @@ class Customer return $numbers; } + public function getPlateNumberList() + { + $plate_numbers = []; + foreach ($this->vehicles as $vehicle) + $plate_numbers[] = $vehicle->getPlateNumber(); + + return $plate_numbers; + } + public function addMobileSession(MobileSession $session) { $this->sessions->add($session); @@ -192,6 +228,17 @@ class Customer return $this->flag_confirmed; } + public function setHasMobileApp($flag_mobile_app = true) + { + $this->flag_mobile_app = $flag_mobile_app; + return $this; + } + + public function hasMobileApp() + { + return $this->flag_mobile_app; + } + public function getJobOrders() { return $this->job_orders; diff --git a/src/Ramcar/CustomerClassification.php b/src/Ramcar/CustomerClassification.php new file mode 100644 index 00000000..f75b50aa --- /dev/null +++ b/src/Ramcar/CustomerClassification.php @@ -0,0 +1,20 @@ + 'Regular', + 'media' => 'Media', + 'vip' => 'VIP', + 'blacklisted' => 'Blacklisted', + 'other' => 'Other', + ]; +}