MailMailjetNotification::class, PriceSolver::class => PriceSolver::class, MerchantResolver::class => MerchantResolver::class, SectionResolver::class => SectionResolver::class ] ); } public function getMailMailjetNotification() { return $this->get(MailMailjetNotification::class); } public function getMerchantSettingCurrent(string $settingName) { return $this->getSettingValue($this->getMerchantCurrent(), $settingName); } public function getSectionSettingCurrent(string $settingName) { return $this->getSettingValue($this->getSectionCurrent(), $settingName); } public function getSettingSolver(): SettingSolver { return $this->get(SettingSolver::class); } public function getSettingValue($entity, $settingName) { return $this->getSettingSolver()->getSettingValue($entity, $settingName); } public function getUserCurrent(): ?UserInterface { return $this->get(Security::class)->getUser(); } public function getVisitorCurrent(): ?VisitorInterface { return $this->getVisitorContainer()->getResolver()->getCurrent(); } public function getMerchantCurrent(): MerchantInterface { return $this->get(MerchantResolver::class)->getCurrent(); } public function getUserMerchantCurrent(): UserMerchantInterface { return $this->getUserMerchantContainer()->getBuilder()->createIfNotExist( $this->getUserCurrent(), $this->getMerchantCurrent() ); } public function getMerchantUserCurrent(): MerchantInterface { return $this->get(MerchantResolver::class)->getMerchantUser($this->getUserCurrent()); } public function getSectionCurrent(): ?SectionInterface { return $this->get(SectionResolver::class)->getCurrent(); } public function getSectionCurrentDefault(): ?SectionInterface { return $this->get(SectionResolver::class)->getCurrent(true); } public function getSectionCurrentVisited(): ?SectionInterface { return $this->get(SectionResolver::class)->getCurrent(false, true); } public function isOutOfSection() { return $this->get(SectionResolver::class)->isOutOfSection(); } public function getSectionCurrentSlug(): string { return $this->getSectionCurrent()->getSlug(); } public function getCartCurrent(): OrderShopInterface { return $this->getOrderShopContainer()->getBuilder()->createIfNotExist( $this->getSectionCurrent(), $this->getUserCurrent(), $this->getVisitorCurrent(), true ); } public function getCartCurrentVisited(): OrderShopInterface { return $this->getOrderShopContainer()->getBuilder()->createIfNotExist( $this->getSectionCurrentVisited(), $this->getUserCurrent(), $this->getVisitorCurrent(), true ); } public function getPriceSolver(): PriceSolver { return $this->get(PriceSolver::class); } public function getOrderShopContainer(): OrderShopContainer { return $this->get(OrderShopContainer::class); } public function getAddressContainer(): AddressContainer { return $this->get(AddressContainer::class); } public function getTaxRateContainer(): TaxRateContainer { return $this->get(TaxRateContainer::class); } public function getUnitContainer(): UnitContainer { return $this->get(UnitContainer::class); } public function getCreditHistoryContainer(): CreditHistoryContainer { return $this->get(CreditHistoryContainer::class); } public function getDocumentContainer(): DocumentContainer { return $this->get(DocumentContainer::class); } public function getMerchantContainer(): MerchantContainer { return $this->get(MerchantContainer::class); } public function getOrderPaymentContainer(): OrderPaymentContainer { return $this->get(OrderPaymentContainer::class); } public function getOrderProductContainer(): OrderProductContainer { return $this->get(OrderProductContainer::class); } public function getOrderProductReductionCatalogContainer(): OrderProductReductionCatalogContainer { return $this->get(OrderProductReductionCatalogContainer::class); } public function getOrderProductRefundContainer(): OrderProductRefundContainer { return $this->get(OrderProductRefundContainer::class); } public function getOrderReductionCartContainer(): OrderReductionCartContainer { return $this->get(OrderReductionCartContainer::class); } public function getOrderReductionCreditContainer(): OrderReductionCreditContainer { return $this->get(OrderReductionCreditContainer::class); } public function getOrderRefundContainer(): OrderRefundContainer { return $this->get(OrderRefundContainer::class); } public function getOrderStatusContainer(): OrderStatusContainer { return $this->get(OrderStatusContainer::class); } public function getOrderStatusHistoryContainer(): OrderStatusHistoryContainer { return $this->get(OrderStatusHistoryContainer::class); } public function getPointSaleContainer(): PointSaleContainer { return $this->get(PointSaleContainer::class); } public function getProductCategoryContainer(): ProductCategoryContainer { return $this->get(ProductCategoryContainer::class); } public function getProductContainer(): ProductContainer { return $this->get(ProductContainer::class); } public function getProductFamilyContainer(): ProductFamilyContainer { return $this->get(ProductFamilyContainer::class); } public function getReductionCartContainer(): ReductionCartContainer { return $this->get(ReductionCartContainer::class); } public function getReductionCatalogContainer(): ReductionCatalogContainer { return $this->get(ReductionCatalogContainer::class); } public function getReductionCreditContainer(): ReductionCreditContainer { return $this->get(ReductionCreditContainer::class); } public function getOpeningContainer(): OpeningContainer { return $this->get(OpeningContainer::class); } public function getSectionContainer(): SectionContainer { return $this->get(SectionContainer::class); } public function getMerchantSettingContainer(): MerchantSettingContainer { return $this->get(MerchantSettingContainer::class); } public function getSectionSettingContainer(): SectionSettingContainer { return $this->get(SectionSettingContainer::class); } public function getUserMerchantContainer(): UserMerchantContainer { return $this->get(UserMerchantContainer::class); } public function getUserPointSaleContainer(): UserPointSaleContainer { return $this->get(UserPointSaleContainer::class); } public function getVisitorContainer(): VisitorContainer { return $this->get(VisitorContainer::class); } public function getQualityLabelContainer(): QualityLabelContainer { return $this->get(QualityLabelContainer::class); } public function getPointSaleSectionContainer(): PointSaleSectionContainer { return $this->get(PointSaleSectionContainer::class); } }