partkeepr

fork of partkeepr
git clone https://git.e1e0.net/partkeepr.git
Log | Files | Refs | Submodules | README | LICENSE

GridPresetService.php (1250B)


      1 <?php
      2 
      3 namespace PartKeepr\FrontendBundle\Services;
      4 
      5 use Doctrine\ORM\EntityManager;
      6 use PartKeepr\FrontendBundle\Entity\GridPreset;
      7 
      8 class GridPresetService
      9 {
     10     /**
     11      * @var EntityManager
     12      */
     13     private $entityManager;
     14 
     15     public function __construct(EntityManager $entityManager)
     16     {
     17         $this->entityManager = $entityManager;
     18     }
     19 
     20     public function markGridPresetAsDefault(GridPreset $gridPreset)
     21     {
     22         $queryBuilder = $this->entityManager->createQueryBuilder();
     23 
     24         $queryBuilder->update("PartKeeprFrontendBundle:GridPreset", "gp")->set("gp.gridDefault", ":default")
     25         ->where("gp.grid = :grid");
     26 
     27         $queryBuilder->setParameter("grid", $gridPreset->getGrid());
     28         $queryBuilder->setParameter("default", false);
     29 
     30         $queryBuilder->getQuery()->execute();
     31 
     32         $gridPreset->setGridDefault(true);
     33     }
     34 
     35     public function getDefaultPresets()
     36     {
     37         $queryBuilder = $this->entityManager->createQueryBuilder();
     38 
     39         $queryBuilder->select("gp.grid", "gp.configuration")->from("PartKeeprFrontendBundle:GridPreset", "gp")->where("gp.gridDefault = :default");
     40         $queryBuilder->setParameter("default", true);
     41 
     42         return $queryBuilder->getQuery()->getArrayResult();
     43     }
     44 }