/**
  * @param $id
  * @return DirectoryView
  */
 public function getById($id) : DirectoryView
 {
     if (!($name = $this->client->hget($this->key, $id))) {
         $model = $this->repository->getById($id);
         $this->client->hset($this->key, $model->getId(), $model->getName());
         return $model;
     }
     /** @var DirectoryView $viewClass */
     $viewClass = $this->viewClass;
     return $viewClass::create($id, $name);
 }
 /**
  * Transforms aggregates to objects
  *
  * @param array $aggregations
  * @return array
  */
 public function transformAggregations(array $aggregations = [])
 {
     if (!empty($aggregations['buckets'])) {
         $aggregations = array_column($aggregations['buckets'], 'doc_count', 'key');
     }
     $data = [];
     $allIndexed = $this->repository->getAllIndexed();
     foreach ($allIndexed as $id => $name) {
         $data[$id] = DirectoryView::create($id, $name, $aggregations[$id] ?? 0);
     }
     return $data;
 }
Example #3
0
 /**
  * @inheritDoc
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('query', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType', ['label' => 'form.label.query', 'required' => false])->add('category', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ChoiceType', ['label' => 'form.label.category', 'choices' => $this->repository->getAllIndexed(), 'placeholder' => 'form.placeholder.all', 'required' => false, 'choice_translation_domain' => false])->add('page', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\IntegerType', ['empty_data' => '1'])->add('submit', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', ['label' => 'action.search']);
 }
Example #4
0
 public function getCategoryById(GetCategoryByIdQuery $query)
 {
     $result = $this->repository->getById($query->getId());
     $query->setResult($result);
 }
Example #5
0
 /**
  * @inheritDoc
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('name', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType', ['label' => 'form.label.name'])->add('price', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\MoneyType', ['label' => 'form.label.price', 'currency' => $this->currency, 'divisor' => 100])->add('category', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ChoiceType', ['label' => 'form.label.category', 'choices' => $this->repository->getAllIndexed()])->add('description', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextareaType', ['label' => 'form.label.description', 'required' => false, 'attr' => ['rows' => 5]])->add('available', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CheckboxType', ['label' => 'form.label.available', 'required' => false])->add('imageUrl', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType', ['label' => 'form.label.image'])->add('productOptions', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\CollectionType', ['label' => 'form.label.options', 'required' => false, 'entry_type' => 'Shop\\Presentation\\Form\\OptionType', 'entry_options' => ['required' => false], 'allow_add' => true, 'allow_delete' => true, 'prototype' => true])->add('submit', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\SubmitType', ['label' => 'action.submit']);
 }
Example #6
0
 /**
  * @inheritDoc
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('option', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\ChoiceType', ['choices' => $this->repository->getAllIndexed()])->add('value', 'Symfony\\Component\\Form\\Extension\\Core\\Type\\TextType');
 }