public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'currency.id', 'code' => 'currency.code']);
     $this->setDefaultRequestOption('order_by', 'code');
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [Currency::class]));
 }
 public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'order_product.id', 'price' => 'IF_ELSE(order_product.variant IS NOT NULL, product_variant.sellPrice.grossAmount, product.sellPrice.grossAmount)', 'discountedPrice' => 'IF_ELSE(order_product.variant IS NOT NULL, product_variant.sellPrice.discountedGrossAmount, product.sellPrice.discountedGrossAmount)', 'currency' => 'IF_ELSE(order_product.variant IS NOT NULL, product_variant.sellPrice.currency, product.sellPrice.currency)', 'stock' => 'IF_ELSE(order_product.variant IS NOT NULL, product_variant.stock, product.stock)', 'weight' => 'IF_ELSE(order_product.variant IS NOT NULL, product_variant.weight, product.weight)', 'quantity' => 'order_product.quantity', 'variant' => 'IDENTITY(order_product.variant)', 'options' => 'order_product.options', 'name' => 'product_translation.name', 'route' => 'IDENTITY(product_translation.route)', 'isDiscountValid' => 'IF_ELSE(:date BETWEEN product.sellPrice.validFrom AND product.sellPrice.validTo, 1, 0)', 'tax' => 'sell_tax.value', 'photo' => 'photos.path']);
     $configurator->setColumnTransformers(['route' => $this->getDataSetTransformer('route')]);
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [Order::class, OrderProduct::class, Product::class, Variant::class, Tax::class]));
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'product.id', 'name' => 'product_translation.name', 'shortDescription' => 'product_translation.shortDescription', 'description' => 'product_translation.description', 'route' => 'IDENTITY(product_translation.route)', 'weight' => 'product.weight', 'price' => 'product.sellPrice.grossAmount', 'discountedPrice' => 'product.sellPrice.discountedGrossAmount', 'isDiscountValid' => 'IF_ELSE(:date BETWEEN product.sellPrice.validFrom AND product.sellPrice.validTo, 1, 0)', 'finalPrice' => 'IF_ELSE(:date BETWEEN product.sellPrice.validFrom AND product.sellPrice.validTo, product.sellPrice.discountedGrossAmount, product.sellPrice.grossAmount) * currency_rate.exchangeRate', 'currency' => 'product.sellPrice.currency', 'tax' => 'sell_tax.value', 'stock' => 'product.stock', 'producerId' => 'IDENTITY(product.producer)', 'producerName' => 'producers_translation.name', 'category' => 'categories.id', 'shop' => 'product_shops.id', 'photo' => 'photos.path', 'status' => 'statuses.id']);
     $configurator->setColumnTransformers(['route' => $this->getDataSetTransformer('route')]);
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [Product::class, ProductTranslation::class, Producer::class, ProducerTranslation::class, Category::class]));
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'product_status.id', 'name' => 'product_status_translation.name', 'route' => 'IDENTITY(product_status_translation.route)', 'css_class' => 'product_status_translation.cssClass']);
     $configurator->setColumnTransformers(['route' => $this->getDataSetTransformer('route')]);
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [ProductStatus::class, ProductStatusTranslation::class]));
 }
 public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'category.id', 'hierarchy' => 'category.hierarchy', 'enabled' => 'category.enabled', 'parent' => 'IDENTITY(category.parent)', 'children_count' => 'category.childrenCount', 'products_count' => 'category.productsCount', 'name' => 'category_translation.name', 'slug' => 'category_translation.slug', 'shop' => 'category_shops.id', 'route' => 'IDENTITY(category_translation.route)']);
     $configurator->setColumnTransformers(['route' => $this->getDataSetTransformer('route')]);
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [Category::class, CategoryInterface::class, CategoryTranslation::class]));
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(DataSetConfiguratorInterface $configurator)
 {
     $configurator->setColumns(['id' => 'producer.id', 'name' => 'producer_translation.name', 'route' => 'IDENTITY(producer_translation.route)', 'shop' => 'producer_shops.id', 'products' => 'COUNT(producer_products.id)']);
     $configurator->setColumnTransformers(['route' => $this->getDataSetTransformer('route')]);
     $configurator->setCacheOptions(new CacheOptions(true, 3600, [Product::class, Producer::class, ProducerTranslation::class]));
 }