public static function getByPerson(Person $aPerson) { if (!$aPerson->studioId()) { return null; } $data = (new Query())->select('studio.*')->from(self::$studioTableName . ' as studio')->where(['id' => $aPerson->studioId()])->one(); $studio = self::getFactory()->create($data['address'], $data['name'], $data['phone']); $studio->setId($data['id']); return $studio; }
/** * @param string $aFirstName * @param string $aLastName * @param string $aMobilePhone * @param string $aPhone * @param null|DateTime $aDateBirth * @param string $anEmail * @param string $anAddress * @param string $anAbout * * @return Person */ public function createByParams($aFirstName, $aLastName, $aMobilePhone, $aPhone, DateTime $aDateBirth, $anEmail, $anAddress, $anAbout) { $person = new Person(); $person->setFirstName($aFirstName); $person->setLastName($aLastName); $person->setMobPhone($aMobilePhone); $person->setPhone($aPhone); if ($aDateBirth instanceof DateTime) { $person->setDateBirth($aDateBirth); } $person->setEmail($anEmail); $person->setAddress($anAddress); $person->setAbout($anAbout); return $person; }
/** * @param Person $aPerson * @param Service $aService * * @return PersonService|null */ public static function getByPersonAndServiceId(Person $aPerson, Service $aService) { $data = (new Query())->select('user_service.*')->from(self::$tableName . ' as user_service')->where(['user_service.person_id' => $aPerson->id(), 'user_service.service_id' => $aService->id()])->one(); if (!$data) { return null; } /** * TODO: сделать чтобы присваивания делала факторка */ $service = (new PersonServiceFactory())->createEmpty(); $service->setId($data['id']); $service->setPersonId($data['person_id']); $service->setServiceId($data['service_id']); $service->setHourse($data['hours']); $service->setCost($data['cost']); return $service; }
public function equalsTo(Person $aPerson) { return $this->id() === $aPerson->id(); }
public static function withoutStudio(Person $aPerson) { return (int) $aPerson->studioId() === self::EMPTY_STUDIO_ID; }
public function getUserByPerson(Person $aPerson) { return User::find()->where(['person_id' => $aPerson->id()])->one(); }
public function createForPerson(Person $aPerson) { $this->setValue(Inflector::slug($aPerson->firstName() . ' ' . $aPerson->lastName())); }