Пример #1
0
 public function run()
 {
     $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
     $person->setStudioId(IsSetStudioSpecification::EMPTY_STUDIO_ID);
     $this->getPersonCommandBus()->handle(new UpdatePersonCommand($person));
     \Yii::$app->response->redirect(URL::toRoute('/cabinet/' . $person->user()->slug()));
 }
Пример #2
0
 public function run()
 {
     /**
      * @var Person $person
      */
     $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
     if (IsSetStudioSpecification::withoutStudio($person)) {
         \Yii::$app->response->redirect(URL::toRoute('/cabinet/' . $person->user()->slug()));
         \Yii::$app->end();
     }
     $studioForm = new StudioForm();
     if ($studioForm->load(\Yii::$app->request->post()) && $studioForm->validate()) {
         $transaction = \Yii::$app->getDb()->beginTransaction();
         try {
             /**
              * @var Studio $studio
              */
             $studio = $this->getStudioCommandBus()->handle(new CreateStudioCommand($studioForm->name, $studioForm->phone, $studioForm->address));
             $person->setStudioId($studio->id());
             $this->getPersonCommandBus()->handle(new UpdatePersonCommand($person));
             $transaction->commit();
             \Yii::$app->response->redirect(URL::toRoute('/cabinet'));
         } catch (Exception $e) {
             $studioForm->addError('name', $e->getMessage());
         }
         $transaction->rollBack();
     }
     return $this->controller->render('studio', ['studioForm' => $studioForm]);
 }
Пример #3
0
 public function run($slug)
 {
     /**
      * @var Person $person
      */
     $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
     $studio = StudioRepository::getByPerson($person);
     $personBySlug = PersonRepository::getBySlug($slug);
     $isOwner = $person->equalsTo($personBySlug);
     return $this->controller->render($personBySlug->user()->type()->prefix() . '/index', ['controller' => $this->controller, 'person' => $personBySlug, 'studio' => $studio, 'isOwner' => $isOwner]);
 }
Пример #4
0
 /**
  * @param Person $person
  *
  * @return bool
  */
 private function saveIfIsRequest(Person $person)
 {
     if (($hours = \Yii::$app->request->post('hours')) && ($cost = \Yii::$app->request->post('cost'))) {
         foreach ($cost as $serviceId => $item) {
             if ($hours[$serviceId] && $cost[$serviceId]) {
                 CommandBusList::getPriceCommandBud()->handle(new SavePersonServiceCommand($person, $serviceId, $hours[$serviceId], $cost[$serviceId]));
             }
         }
         return true;
     }
     return false;
 }
Пример #5
0
 public function run($slug)
 {
     /**
      * @var Person  $bride
      * @var Wedding $wedding
      */
     $personBySlug = PersonRepository::getBySlug($slug);
     $bride = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
     $wedding = WeddingRepository::getByBride($personBySlug);
     $groom = PersonRepository::getById($wedding->groomId());
     $isOwner = $bride->equalsTo($personBySlug);
     return $this->controller->render($bride->user()->type()->prefix() . '/index', ['bride' => $personBySlug, 'wedding' => $wedding, 'groom' => $groom, 'isOwner' => $isOwner]);
 }
Пример #6
0
 /**
  * @param $slug
  *
  * @return array
  * @throws NotFoundHttpException
  */
 private function getPersonAndSlug($slug)
 {
     if (!$slug) {
         /**
          * @var Person $person
          */
         $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
         $slug = $person->user()->slug();
         return array($person, $slug);
     } else {
         $person = PersonRepository::getBySlug($slug);
         if (!$person) {
             throw new NotFoundHttpException('Пользователь не найден');
         }
         return array($person, $slug);
     }
 }
Пример #7
0
 public function run()
 {
     /**
      * @var Person $person
      */
     $person = CommandBusList::getPersonCommanBus()->handle(new GetCurrentPersonCommand());
     /**
      * @var Person $person
      */
     $model = new PersonForm();
     $model->setAttributes($person->asArray());
     if ($model->load(\Yii::$app->request->post()) && $model->validate()) {
         CommandBusList::getPersonCommanBus()->handle(new UpdatePersonRawCommand($person, $model->firstName, $model->lastName, $model->mobPhone, $model->phone, $model->dateBirth, $model->email, $model->address, $model->about));
         \Yii::$app->response->redirect(URL::to($person->user()->slug()));
         \Yii::$app->end();
     }
     return $this->controller->render('edit', ['model' => $model]);
 }