partkeepr

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

PartMeasurementUnitService.php (1241B)


      1 <?php
      2 
      3 namespace PartKeepr\PartBundle\Services;
      4 
      5 use Doctrine\ORM\EntityManager;
      6 use PartKeepr\PartBundle\Entity\PartMeasurementUnit;
      7 
      8 class PartMeasurementUnitService
      9 {
     10     private $entityManager;
     11 
     12     public function __construct(EntityManager $entityManager)
     13     {
     14         $this->entityManager = $entityManager;
     15     }
     16 
     17     public function setDefault(PartMeasurementUnit $partMeasurementUnit)
     18     {
     19         $this->entityManager->beginTransaction();
     20 
     21         $dql = 'UPDATE PartKeepr\PartBundle\Entity\PartMeasurementUnit pu SET pu.default = :default WHERE pu.id = :id';
     22 
     23         $this->entityManager->createQuery($dql)
     24             ->setParameter('id', $partMeasurementUnit->getId())
     25             ->setParameter(
     26                 'default',
     27                 true,
     28                 \PDO::PARAM_BOOL
     29             )->execute();
     30 
     31         $dql = 'UPDATE PartKeepr\PartBundle\Entity\PartMeasurementUnit pu SET pu.default = :default WHERE pu.id != :id';
     32 
     33         $this->entityManager->createQuery($dql)
     34             ->setParameter('id', $partMeasurementUnit->getId())
     35             ->setParameter(
     36                 'default',
     37                 false,
     38                 \PDO::PARAM_BOOL
     39             )->execute();
     40 
     41         $this->entityManager->commit();
     42     }
     43 }