Esempio n. 1
0
 /**
  * @Given existen los siguientes códigos de barras:
  */
 public function createBarcodes(TableNode $tableNode)
 {
     $em = $this->getEntityManager();
     foreach ($tableNode->getHash() as $barcodeHash) {
         $barcode = new Barcode();
         $barcode->setType($barcodeHash['tipo']);
         $barcode->setCode($barcodeHash['codigo']);
         $barcode->setComment($barcodeHash['comentario']);
         //We obtain the corresponding identifier to the trademark name
         $em = $this->getEntityManager();
         $trademark = $em->getRepository('AppBundle:Trademark')->findOneBy(array('name' => $barcodeHash['marca']));
         $barcode->setTrademark($trademark);
         $em->persist($barcode);
     }
     $em->flush();
 }
Esempio n. 2
0
 /**
  * @param ErrorElement $errorElement
  * @param Barcode $object
  */
 public function validate(ErrorElement $errorElement, $object)
 {
     if (!$object->getWithCounter()) {
         if ($object->getBasecode() < 0 || $object->getBasecode() > 99999) {
             $errorElement->with('basecode')->addViolation('Recuerde que son cinco dígitos desde 00000 a 99999')->end();
         } else {
             /** @var QueryBuilder $query */
             $query = $this->getModelManager()->createQuery($this->getClass(), 'o');
             $barcode = $query->where('o.code = :code')->setParameter('code', $object->generateCode())->getQuery()->execute();
             if (!empty($barcode)) {
                 $errorElement->with('basecode')->addViolation('El código está en uso')->end();
             }
         }
     } else {
         do {
             $object->getTrademark()->incCounter();
             $query = $this->getModelManager()->createQuery($this->getClass(), 'o');
             $barcode = $query->where('o.code = :code')->setParameter('code', $object->generateCode())->getQuery()->execute();
         } while (!empty($barcode));
     }
 }
Esempio n. 3
0
 /**
  * Remove products
  *
  * @param \AppBundle\Entity\Product $products
  */
 public function removeProduct(\AppBundle\Entity\Product $products)
 {
     $this->barcodes->removeElement($products);
 }