src/Controller/ModComercio/Ventas/CartaController.php line 43

Open in your IDE?
  1. <?php
  2. namespace App\Controller\ModComercio\Ventas;
  3. use App\Entity\Catalogos\CategoriaProducto;
  4. use App\Entity\Comercio\DatosComercio;
  5. use App\Entity\Documentos\ImagenesProducto;
  6. use App\Entity\Producto\{AcompanamientoMenu};
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use Exception;
  11. use Symfony\Component\HttpFoundation\Request;
  12. class CartaController extends AbstractController {
  13.   private $em;
  14.   public function __construct(EntityManagerInterface $em) {
  15.     date_default_timezone_set('America/Guayaquil');
  16.     $this->em $em;
  17.   }
  18.   // * READ FUNCTIONS *
  19.     /**
  20.      * @Route("/getCategoria", name="getCategoria")
  21.      */
  22.     public function getCategoria() {
  23.       $lista = [];
  24.       $categorias $this->em->getRepository(CategoriaProducto::class)->findBy([], ['nombre' => 'ASC']);
  25.       foreach ($categorias as $categoria) {
  26.         if ($categoria->getId() != 12) :
  27.           array_push($lista, [
  28.             'id' => $categoria->getId(),
  29.             'nombre' => $categoria->getNombre()
  30.           ]);
  31.         endif;
  32.       }
  33.       return $this->json($lista200);
  34.     }
  35.     /**
  36.      * @Route("/getInitialCarta", name="getInitialCarta")
  37.      */
  38.     public function getInitialCarta(Request $request) {
  39.       $list = [];
  40.       $filter $request->request->get('filter');
  41.       $datosComercio $this->em->getRepository(DatosComercio::class)->find(1);
  42.       $iva $datosComercio->getIdPorcentajeIva()->getPorcentaje();
  43.       if ($filter != "") :
  44.         $json json_decode($filtertrue);
  45.         foreach ($json as $categoria) {
  46.           $menus $this->em->getRepository(Menu::class)->findBy(['idCategoriaProducto' => $categoria['id'], 'activo' => true], ['nombre' => 'ASC']);
  47.           foreach ($menus as $menu) {
  48.             $list $this->setArrayMenu($list$menu$iva);
  49.           }
  50.         }
  51.       else:
  52.         $menus $this->em->getRepository(Menu::class)->findBy(['activo' => true], ['nombre' => 'ASC']);
  53.         foreach ($menus as $menu) {
  54.           $list $this->setArrayMenu($list$menu$iva);
  55.         }
  56.       endif;
  57.       return $this->json($list200);
  58.     }
  59.     private function setArrayMenu($list$item$iva) {
  60.       $precio floatval(($iva $item->getPrecio()) / 100) + floatval($item->getPrecio());
  61.       $portada $this->em->getRepository(ImagenesProducto::class)->findOneBy(['idMenu' => $item->getId(), 'principal' => false'portadaMenu' => true]);
  62.       array_push($list, [
  63.         'id' => $item->getId(),
  64.         'nombre' => $item->getNombre(),
  65.         'descripcion' => $item->getDescripcion(),
  66.         'precio' => $precio,
  67.         'imagenPrincipal' => $portada $portada->getIdCargaDocumento()->getImagen() : "",
  68.         'acompanamiento' => $item->getAcompanamiento()
  69.       ]);
  70.       return $list;
  71.     }
  72.     /**
  73.      * @Route("/getAcompanamientosMenu", name="getAcompanamientosMenu")
  74.      */
  75.     public function getAcompanamientosMenu(Request $request) {
  76.       $list = [];
  77.       $idMenu $request->request->get('idMenu');
  78.       $acompanamiento $this->em->getRepository(Acompanamiento::class)->findBy(['idMenu' => $idMenu]);
  79.       if ($acompanamiento) :
  80.         foreach ($acompanamiento as $item) {
  81.           $list[] = [
  82.             'id' => $item->getId(),
  83.             'nombre' => $item->getIdMenuComponentes()->getIdComponentes()->getNombre()
  84.           ];
  85.         }
  86.       endif;
  87.       return $this->json($list200);
  88.     }
  89.   // * CREATE OR UPDATE FUNCTIONS *
  90.     private function setGenericData($user null$entity) {
  91.       $entity
  92.         ->setIdUsuarioModificacion($user != null $user->getId() : '1')
  93.         ->setFechaModificacion(new \DateTime())
  94.         ->setIpModificacion($_SERVER['REMOTE_ADDR'])
  95.       ;
  96.       return $entity;
  97.     }
  98.   // * DELETE FUNCTIONS *
  99. }