time_open = new DateTime(); $this->time_close = new DateTime(); $this->riders = new ArrayCollection(); $this->outlets = new ArrayCollection(); $this->status_open = true; } public function getRiders() { return $this->riders; } public function getAvailableRiders() { $crit = Criteria::create(); $crit->where(Criteria::expr()->eq('flag_available', true)); return $this->riders->matching($crit); } public function getActiveRiders() { $crit = Criteria::create(); $crit->where(Criteria::expr()->eq('flag_active', true)); return $this->riders->matching($crit); } public function getUsers() { return $this->users; } public function getUsersCount() { return $this->users->count(); } public function getJobOrders() { return $this->job_orders; } public function getOngoingJobOrders() { $crit = Criteria::create(); $crit->where(Criteria::expr()->notIn('status', [JOStatus::CANCELLED, JOStatus::FULFILLED])); return $this->job_orders->matching($crit); } public function getForAssignmentJobOrders() { $crit = Criteria::create(); $crit->where(Criteria::expr()->eq('status', JOStatus::RIDER_ASSIGN)); return $this->job_orders->matching($crit); } public function addOutlet(Outlet $outlet) { $this->outlets[] = $outlet; return $this; } public function getOutlets() { return $this->outlets; } public function setBranchCode($branch_code) { $this->branch_code = $branch_code; return $this; } public function getBranchCode() { return $this->branch_code; } public function setStatusOpen($status = true) { $this->status_open = $status; return $this; } public function isStatusOpen() { return $this->status_open; } }