<?php
namespace App\Controller;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use App\Entity\Propiedades;
use App\Entity\Imagenes;
use App\Entity\Regiones;
use App\Entity\Modalidad;
use App\Entity\TipoPropiedad;
class SomosController extends AbstractController
{
private $entityManager;
public function __construct(EntityManagerInterface $entityManager)
{
$this->entityManager = $entityManager;
}
/**
* @Route("/quienes-somos", name="quienes-somos")
*/
public function index(): Response
{
$totalPropiedades = count($this->entityManager->getRepository(Propiedades::class)->getTotalPropiedadesDestacadas());
$numPaginas =0;
if ($totalPropiedades > 0) {
$numPaginas = ceil($totalPropiedades / 6);
}
$propiedades = $this->entityManager->getRepository(Propiedades::class)->getPropiedadesDestacadas();
$arrPropiedades = array();
foreach ($propiedades as $key => $propiedad) {
$arrPropiedades[$key]["id"] = $propiedad['id'];
$arrPropiedades[$key]["titulo"] = $propiedad['titulo'];
$arrPropiedades[$key]["valor"] = $propiedad['valor'];
$arrPropiedades[$key]["uf"] = $propiedad['uf'];
$arrPropiedades[$key]["banios"] = $propiedad['numeroBanios'];
$arrPropiedades[$key]["dormitorios"] = $propiedad['numeroDormitorios'];
$arrPropiedades[$key]["tipoPropiedad"] = $propiedad['tipo'];
$arrPropiedades[$key]["imagenes"] = array();
$oImagenes = $this->entityManager->getRepository(Imagenes::class)->findBy(array("idPropiedad"=> $propiedad['id']));
foreach ($oImagenes as $keyimg => $img) {
$arrPropiedades[$key]["imagenes"][$keyimg]["nombre"] = $img->getNombre();
}
}
$oRegiones = $this->entityManager->getRepository(Regiones::class)->findAll();
$oModalidad = $this->entityManager->getRepository(Modalidad::class)->findAll();
$oTipoPropiedad = $this->entityManager->getRepository(TipoPropiedad::class)->findAll();
return $this->render('somos/index.html.twig', array(
"arrPropiedades" => $arrPropiedades,
"numPaginas" => $numPaginas,
"totalPropiedades" => $totalPropiedades
)
);
}
/**
* @Route("/quienes-somos/aplicar-filtro-propiedades", options={"expose"=true}, name="somos_aplicar_filtro")
*/
public function aplicarFiltroPropiedadesDestacadasAction(Request $request){
$em = $this->getDoctrine()->getManager();
$pagina = $request->request->get('filtro_propiedad_pagina');
$numItemPaginas = 6;
$offset = ($pagina - 1) * $numItemPaginas;
$propiedades = $em->getRepository(Propiedades::class)->aplicarFiltroPropiedadDestacada($numItemPaginas, $offset);
$arrPropiedades = array();
foreach ($propiedades as $key => $propiedad) {
$arrPropiedades[$key]["id"] = $propiedad['id'];
$arrPropiedades[$key]["titulo"] = $propiedad['titulo'];
$arrPropiedades[$key]["valor"] = $propiedad['valor'];
$arrPropiedades[$key]["uf"] = $propiedad['uf'];
$arrPropiedades[$key]["banios"] = $propiedad['numeroBanios'];
$arrPropiedades[$key]["dormitorios"] = $propiedad['numeroDormitorios'];
$arrPropiedades[$key]["tipoPropiedad"] = $propiedad['tipo'];
$arrPropiedades[$key]["imagenes"] = array();
$oImagenes = $em->getRepository(Imagenes::class)->findBy(array("idPropiedad"=> $propiedad['id']));
foreach ($oImagenes as $keyimg => $img) {
$arrPropiedades[$key]["imagenes"][$keyimg]["nombre"] = $img->getNombre();
}
}
$totalPropiedades = count($em->getRepository(Propiedades::class)->getTotalPropiedadesDestacadas());
$numPaginas =0;
if ($totalPropiedades > 0) {
$numPaginas = ceil($totalPropiedades / 6);
}
return $this->render('somos/mostrarFiltroPropiedadesDestacadas.html.twig',
array(
"arrPropiedades" => $arrPropiedades,
"numPaginas" => $numPaginas,
"pagina" => $pagina
)
);
}
}