You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

65 lines
1.7KB

  1. <?php
  2. namespace Lc\CaracoleBundle\Container\PointSale;
  3. use App\Entity\PointSale\PointSale;
  4. use Lc\CaracoleBundle\Definition\Field\PointSale\PointSaleFieldDefinition;
  5. use Lc\CaracoleBundle\Factory\PointSale\PointSaleFactory;
  6. use Lc\CaracoleBundle\Repository\PointSale\PointSaleRepositoryQuery;
  7. use Lc\CaracoleBundle\Repository\PointSale\PointSaleStore;
  8. use Lc\CaracoleBundle\Solver\PointSale\PointSaleSolver;
  9. class PointSaleContainer
  10. {
  11. protected PointSaleFactory $factory;
  12. protected PointSaleSolver $solver;
  13. protected PointSaleFieldDefinition $fieldDefinition;
  14. protected PointSaleRepositoryQuery $repositoryQuery;
  15. protected PointSaleStore $store;
  16. public function __construct(
  17. PointSaleFactory $factory,
  18. PointSaleSolver $solver,
  19. PointSaleFieldDefinition $fieldDefinition,
  20. PointSaleRepositoryQuery $repositoryQuery,
  21. PointSaleStore $store
  22. ) {
  23. $this->factory = $factory;
  24. $this->solver = $solver;
  25. $this->fieldDefinition = $fieldDefinition;
  26. $this->repositoryQuery = $repositoryQuery;
  27. $this->store = $store;
  28. }
  29. public static function getEntityFqcn()
  30. {
  31. return PointSale::class;
  32. }
  33. public function getFactory(): PointSaleFactory
  34. {
  35. return $this->factory;
  36. }
  37. public function getSolver(): PointSaleSolver
  38. {
  39. return $this->solver;
  40. }
  41. public function getFieldDefinition(): PointSaleFieldDefinition
  42. {
  43. return $this->fieldDefinition;
  44. }
  45. public function getRepositoryQuery(): PointSaleRepositoryQuery
  46. {
  47. return $this->repositoryQuery;
  48. }
  49. public function getStore(): PointSaleStore
  50. {
  51. $this->store->resetContext();
  52. return $this->store;
  53. }
  54. }