Exemple #1
0
 public function load(ObjectManager $manager)
 {
     $ciudades = array('Albacete', 'Alicante', 'Almería', 'Ávila', 'Badajoz', 'Barcelona', 'Bilbao', 'Burgos', 'Cáceres', 'Cádiz', 'Castellón de la Plana', 'Ceuta', 'Ciudad Real', 'Córdoba', 'Cuenca', 'Gerona', 'Granada', 'Guadalajara', 'Huelva', 'Huesca', 'Jaén', 'La Coruña', 'Las Palmas de Gran Canria', 'León', 'Lérida', 'Logroño', 'Lugo', 'Madrid', 'Málaga', 'Melilla', 'Murcia', 'Orense', 'Oviedo', 'Palencia', 'Palma de Mallorca', 'Pamplona', 'Pontevedra', 'Salamanca', 'San Sebastián', 'Santa Cruz de Tenerife', 'Santander', 'Santiago de Compostela', 'Segovia', 'Sevilla', 'Soria', 'Tarragona', 'Teruel', 'Toledo', 'Valencia', 'Valladolid', 'Vitoria', 'Zamora', 'Zaragoza');
     foreach ($ciudades as $ciudad) {
         $entidad = new Ciudad();
         $entidad->setNombre($ciudad);
         $manager->persist($entidad);
     }
     $manager->flush();
 }
Exemple #2
0
 public function load(ObjectManager $manager)
 {
     $ciudades = array('Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia', 'Palma de Mallorca', 'Las Palmas de Gran Canaria', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo', 'Gijón', 'Hospitalet de Llobregat', 'La Coruña', 'Granada', 'Vitoria-Gasteiz', 'Elche', 'Oviedo', 'Santa Cruz de Tenerife', 'Badalona', 'Cartagena', 'Tarrasa');
     foreach ($ciudades as $ciudad) {
         $entidad = new Ciudad();
         $entidad->setNombre($ciudad['nombre']);
         $manager->persist($entidad);
     }
     $manager->flush();
 }
Exemple #3
0
 /**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $ciudades = array(array("nombre" => "Madrid"), array("nombre" => "Barcelona"));
     foreach ($ciudades as $ciudad) {
         $entidad = new Ciudad();
         $entidad->setNombre($ciudad["nombre"]);
         $manager->persist($entidad);
     }
     $manager->flush();
 }
Exemple #4
0
 public function load(ObjectManager $manager)
 {
     $ciudades = array(array('nombre' => 'Madrid'), array('nombre' => 'Barcelona'));
     foreach ($ciudades as $ciudad) {
         $entidad = new Ciudad();
         $entidad->setNombre($ciudad['nombre']);
         $manager->persist($entidad);
     }
     $manager->flush();
 }
Exemple #5
0
 public function load($manager)
 {
     // Los 25 municipios más poblados de España según el INE
     // fuente: http://es.wikipedia.org/wiki/Municipios_de_Espa%C3%B1a_por_poblaci%C3%B3n
     $ciudades = array('Madrid', 'Barcelona', 'Valencia', 'Sevilla', 'Zaragoza', 'Málaga', 'Murcia', 'Palma de Mallorca', 'Las Palmas de Gran Canaria', 'Bilbao', 'Alicante', 'Córdoba', 'Valladolid', 'Vigo', 'Gijón', 'Hospitalet de Llobregat', 'La Coruña', 'Granada', 'Vitoria-Gasteiz', 'Elche', 'Oviedo', 'Santa Cruz de Tenerife', 'Badalona', 'Cartagena', 'Tarrasa');
     foreach ($ciudades as $nombre) {
         $ciudad = new Ciudad();
         $ciudad->setNombre($nombre);
         $manager->persist($ciudad);
     }
     $manager->flush();
 }
Exemple #6
0
 public function load(ObjectManager $manager)
 {
     // Crear 5 ciudades de prueba
     foreach (array('Madrid', 'Barcelona', 'Castellón', 'Vigo', 'Vitoria-Gasteiz') as $nombre) {
         $ciudad = new Ciudad();
         $ciudad->setNombre($nombre);
         $manager->persist($ciudad);
     }
     $manager->flush();
     // Crear 10 tiendas en cada ciudad
     $ciudades = $manager->getRepository('CiudadBundle:Ciudad')->findAll();
     $numTienda = 0;
     foreach ($ciudades as $ciudad) {
         for ($i = 1; $i <= 10; $i++) {
             $numTienda++;
             $tienda = new Tienda();
             $tienda->setNombre('Tienda #' . $numTienda);
             $tienda->setLogin('tienda' . $numTienda);
             $tienda->setPassword('password' . $numTienda);
             $tienda->setSalt(md5(time()));
             $tienda->setDescripcion("Lorem ipsum dolor sit amet, consectetur adipisicing elit," . "sed do eiusmod tempor incididunt ut labore et dolore magna" . "aliqua. Ut enim ad minim veniam, quis nostrud exercitation" . "ullamco laboris nisi ut aliquip ex ea commodo consequat.");
             $tienda->setDireccion("Calle Lorem Ipsum, {$i}\n" . $ciudad->getNombre());
             $tienda->setCiudad($ciudad);
             $manager->persist($tienda);
         }
     }
     $manager->flush();
     // Crear 50 ofertas en cada ciudad
     $ciudades = $manager->getRepository('CiudadBundle:Ciudad')->findAll();
     $numOferta = 0;
     foreach ($ciudades as $ciudad) {
         $tiendas = $manager->getRepository('TiendaBundle:Tienda')->findByCiudad($ciudad->getId());
         for ($i = 1; $i <= 50; $i++) {
             $numOferta++;
             $oferta = new Oferta();
             $oferta->setNombre('Oferta #' . $numOferta . ' lorem ipsum dolor sit amet');
             $oferta->setDescripcion("Lorem ipsum dolor sit amet, consectetur adipisicing.\n" . "Elit, sed do eiusmod tempor incididunt.\n" . "Ut labore et dolore magna aliqua.\n" . "Nostrud exercitation ullamco laboris nisi ut");
             $oferta->setCondiciones("Labore et dolore magna aliqua. Ut enim ad minim veniam.");
             $oferta->setRutaFoto('foto' . rand(1, 20) . '.jpg');
             $oferta->setPrecio(number_format(rand(100, 10000) / 100, 2));
             $oferta->setDescuento($oferta->getPrecio() * (rand(10, 70) / 100));
             // Se publican 9 ofertas en el pasado, 1 en el presente y 40 en el futuro
             if (1 == $i) {
                 $fecha = 'today';
                 $oferta->setRevisada(true);
             } elseif ($i < 10) {
                 $fecha = 'now - ' . ($i - 1) . ' days';
                 // el 80% de las ofertas pasadas se marcan como revisadas
                 $oferta->setRevisada(rand(1, 1000) % 10 < 8);
             } else {
                 $fecha = 'now + ' . ($i - 10 + 1) . ' days';
                 $oferta->setRevisada(true);
             }
             $fechaPublicacion = new \DateTime($fecha);
             $fechaPublicacion->setTime(23, 59, 59);
             $fechaExpiracion = clone $fechaPublicacion;
             $fechaExpiracion->add(\DateInterval::createFromDateString('24 hours'));
             $oferta->setFechaPublicacion($fechaPublicacion);
             $oferta->setFechaExpiracion($fechaExpiracion);
             $oferta->setCompras(0);
             $oferta->setUmbral(rand(25, 100));
             $oferta->setCiudad($ciudad);
             // Seleccionar aleatoriamente una tienda que pertenezca a la ciudad
             $oferta->setTienda($tiendas[array_rand($tiendas)]);
             $manager->persist($oferta);
         }
     }
     $manager->flush();
     // Crear 100 usuarios en cada ciudad
     $numUsuario = 0;
     foreach ($ciudades as $ciudad) {
         for ($i = 1; $i <= 100; $i++) {
             $numUsuario++;
             $usuario = new Usuario();
             $usuario->setNombre('Usuario #' . $numUsuario);
             $usuario->setApellidos('Apellido1 Apellido2');
             $usuario->setEmail('usuario' . $numUsuario . '@localhost');
             $usuario->setSalt('');
             $usuario->setPassword('password' . $numUsuario);
             $usuario->setDireccion("Calle Ipsum Lorem, 2\n" . $ciudad->getNombre());
             // El 60% de los usuarios permite email
             $usuario->setPermiteEmail(rand(1, 1000) % 10 < 6);
             $usuario->setFechaAlta(new \DateTime('now - ' . rand(1, 150) . ' days'));
             $usuario->setFechaNacimiento(new \DateTime('now - ' . rand(7000, 20000) . ' days'));
             $dni = substr(rand(), 0, 8);
             $usuario->setDni($dni . substr("TRWAGMYFPDXBNJZSQVHLCKE", strtr($dni, "XYZ", "012") % 23, 1));
             $usuario->setNumeroTarjeta('1234567890123456');
             $usuario->setCiudad($ciudad);
             $manager->persist($usuario);
         }
     }
     $manager->flush();
     // Crear 500 ventas aleatorias
     $ofertas = $manager->getRepository('OfertaBundle:Oferta')->findAll();
     $usuarios = $manager->getRepository('UsuarioBundle:Usuario')->findAll();
     foreach ($usuarios as $usuario) {
         $compras = rand(0, 10);
         $comprado = array();
         for ($i = 0; $i < $compras; $i++) {
             $venta = new Venta();
             // Sólo se añade una venta:
             //   - si este mismo usuario no ha comprado antes la misma oferta
             //   - si la oferta seleccionada ha sido revisada
             //   - si la fecha de publicación de la oferta es posterior a ahora mismo
             $oferta = $ofertas[array_rand($ofertas)];
             while (in_array($oferta->getId(), $comprado) || $oferta->getRevisada() == false || $oferta->getFechaPublicacion() > new \DateTime('now')) {
                 $oferta = $ofertas[array_rand($ofertas)];
             }
             $comprado[] = $oferta->getId();
             $venta->setOferta($oferta);
             $venta->setUsuario($usuario);
             $publicacion = clone $oferta->getFechaPublicacion();
             $venta->setFecha($publicacion->add(\DateInterval::createFromDateString(rand(10, 10000) . ' seconds')));
             $manager->persist($venta);
             $oferta->setCompras($oferta->getCompras() + 1);
             $manager->persist($oferta);
         }
         unset($comprado);
     }
     $manager->flush();
 }
Exemple #7
0
 /**
  * Generador aleatorio de direcciones postales.
  *
  * @param  Ciudad $ciudad Objeto de la ciudad para la que se genera una dirección postal.
  * @return string         Dirección postal aleatoria generada para la tienda.
  */
 private function getDireccion(Ciudad $ciudad)
 {
     $prefijos = array('Calle', 'Avenida', 'Plaza');
     $nombres = array('Lorem', 'Ipsum', 'Sitamet', 'Consectetur', 'Adipiscing', 'Necsapien', 'Tincidunt', 'Facilisis', 'Nulla', 'Scelerisque', 'Blandit', 'Ligula', 'Eget', 'Hendrerit', 'Malesuada', 'Enimsit');
     return $prefijos[array_rand($prefijos)] . ' ' . $nombres[array_rand($nombres)] . ', ' . rand(1, 100) . "\n" . $this->getCodigoPostal() . ' ' . $ciudad->getNombre();
 }
Exemple #8
0
 private function getCiudad()
 {
     $ciudad = new Ciudad();
     $ciudad->setNombre('Ciudad de Prueba');
     return $ciudad;
 }
 /**
  * {@inheritDoc}
  */
 public function __toString()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, '__toString', array());
     return parent::__toString();
 }