<?php

namespace App\AdminBundle\Entity;
use Symfony\Component\Validator\Constraints as Assert;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="User")
 * @ORM\Entity(repositoryClass="App\AdminBundle\Entity\UserRepository")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\Column(type="string")
     * @Assert\NotBlank()
     */
    private $nombre;
    
    /**
     * @ORM\Column(type="string")
     * @Assert\NotBlank()
     */
    private $apellido;

    /**
     * @ORM\Column(type="string")
     */
    private $sexo;

    /**
     * @ORM\Column(type="integer")
     * @Assert\Max(limit = 99, message = "No puedes tener más de 99 años.")
     * @Assert\Min(limit = 14, message = "No puedes tener menos de 14 años.")
     */
    private $edad;

    /**
     * @ORM\Column(type="string",name="fecha_nacimiento")
     */
    private $fechaNacimiento;

     /**
     * @ORM\Column(type="string",name="lugar_nacimiento")
     */
    private $lugarNacimiento;

    /**
     * @ORM\Column(type="string",name="documento_id")
     */
    private $documentoId;

    /**
     * @ORM\Column(type="string")
     */
    private $departamento;

    /**
     * @ORM\Column(type="string")
     */
    private $ciudad;

    /**
     * @ORM\Column(type="string")
     */
    private $direccion;
    
    /**
     * @ORM\Column(type="integer")
     * @Assert\NotNull()
     * @Assert\Max(limit = 3, message = "Lo sentimos, está beca solo aplica para estratos de 1 a 3.")
     * @Assert\Min(limit = 1, message = "Lo sentimos, está beca solo aplica para estratos de 1 a 3.")
     */
    private $estrato;
    
    /**
     * @ORM\Column(type="string")
     */
    private $telefono;

    /**
     * @ORM\Column(type="string")
     */
    private $correo;

    /**
     * @ORM\Column(type="string")
     */
    private $acudiente;

    /**
     * @ORM\Column(type="string")
     */
    private $parentesco;

    /**
     * @ORM\Column(type="string",name="estado_civil")
     */
    private $estadoCivil;

    /**
     * @ORM\Column(type="integer",name="numeros_hermanos")
     */
    private $numerosHermanos;

    /**
     * @ORM\Column(type="string",name="carrera_del_aspirante")
     */
    private $carreraDelAspirante;

    /**
     * @ORM\Column(type="string",name="nombre_colegio")
     */
    private $nombreColegio;

    /**
     * @ORM\Column(type="string",name="municipio_colegio")
     */
    private $municipioColegio;

    /**
     * @ORM\Column(type="string",name="telefono_colegio")
     */
    private $telefonoColegio;

    /**
     * @ORM\Column(type="string",name="nombre_rector_colegio")
     */
    private $nombreRectorColegio;

    /**
     * @ORM\Column(type="string",name="fecha_graduacion")
     */
    private $fechaGraduacion;

    /**
     * @ORM\Column(type="string",name="tipo_documento_icfes")
     */
    private $tipoDocumentoIcfes;

    /**
     * @ORM\Column(type="string",name="documento_id_icfes")
     */
    private $documentoIdIcfes;
    
    /**
     * @ORM\Column(type="decimal",name="promedio_icfes")
     */
    private $promedioIcfes;

    /**
     * @ORM\Column(type="decimal",name="punt_matem_icfes")
     */
    private $puntMatemIcfes;

    /**
     * @ORM\Column(type="decimal",name="punt_lengu_icfes")
     */
    private $puntLenguIcfes;

    /**
     * @ORM\Column(type="decimal",name="punt_fisica_icfes")
     */
    private $puntFisicaIcfes;

    /**
     * @ORM\Column(type="decimal",name="punt_filos_icfes")
     */
    private $puntFilosIcfes;

    /**
     * @ORM\Column(type="decimal",name="punt_min_nucleo")
     */
    private $puntMinNucleo;

    /**
     * @ORM\Column(type="string",name="nombre_padre")
     */
    private $nombrePadre;

    /**
     * @ORM\Column(type="string",name="estado_trabajo_padre")
     */
    private $estadoTrabajoPadre;

    /**
     * @ORM\Column(type="string",name="trabajo_padre")
     */
    private $trabajoPadre;

    /**
     * @ORM\Column(type="string",name="ocupacion_padre")
     */
    private $ocupacionPadre;

    /**
     * @ORM\Column(type="string",name="telefono_padre")
     */
    private $telefonoPadre;

    /**
     * @ORM\Column(type="string",name="nombre_madre")
     */
    private $nombreMadre;

    /**
     * @ORM\Column(type="string",name="estado_trabajo_madre")
     */
    private $estadoTrabajoMadre;

    /**
     * @ORM\Column(type="string",name="trabajo_madre")
     */
    private $trabajoMadre;

    /**
     * @ORM\Column(type="string",name="ocupacion_madre")
     */
    private $ocupacionMadre;

    /**
     * @ORM\Column(type="string",name="telefono_madre")
     */
    private $telefonoMadre;

    /**
     * @ORM\Column(type="string",name="estado_civil_padres")
     */
    private $estadoCivilPadres;

    /**
     * @ORM\Column(type="string",name="responsable_del_sostenimiento_del_hogar")
     */
    private $responsableDelSostenimientoDelHogar;

    /**
     * @ORM\Column(type="string",name="dirrecion_familiar")
     */
    private $dirrecionFamiliar;

    /**
     * @ORM\Column(type="string",name="tipo_de_vivienda")
     */
    private $tipoDeVivienda;

    /**
     * @ORM\Column(type="integer",name="numero_de_habitantes_en_vivienda")
     */
    private $numeroDeHabitantesEnVivienda;

    /**
     * @ORM\Column(type="string",name="creado")
     */
    private $creado;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }
    
    /**
     * Set apellido
     *
     * @param string $apellido
     */
    public function setApellido($apellido)
    {
        $this->apellido = $apellido;
    }

    /**
     * Get apellidoe
     *
     * @return string 
     */
    public function getApellido()
    {
        return $this->apellido;
    }

    /**
     * Set sexo
     *
     * @param string $sexo
     */
    public function setSexo($sexo)
    {
        $this->sexo = $sexo;
    }

    /**
     * Get sexo
     *
     * @return string 
     */
    public function getSexo()
    {
        return $this->sexo;
    }

    /**
     * Set edad
     *
     * @param integer $edad
     */
    public function setEdad($edad)
    {
        $this->edad = $edad;
    }

    /**
     * Get edad
     *
     * @return integer 
     */
    public function getEdad()
    {
        return $this->edad;
    }

    /**
     * Set fechaNacimiento
     *
     * @param string $fechaNacimiento
     */
    public function setFechaNacimiento($fn)
    {
        $this->fechaNacimiento = $fn ;
    }

    /**
     * Get fechaNacimiento
     *
     * @return string 
     */
    public function getFechaNacimiento()
    {
        return $this->fechaNacimiento;
    }

    /**
     * Set lugarNacimiento
     *
     * @param string $lugarNacimiento
     */
    public function setLugarNacimiento($lugarNacimiento)
    {
        $this->lugarNacimiento = $lugarNacimiento;
    }

    /**
     * Get lugarNacimiento
     *
     * @return string 
     */
    public function getLugarNacimiento()
    {
        return $this->lugarNacimiento;
    }

    /**
     * Set documentoId
     *
     * @param string $documentoId
     */
    public function setDocumentoId($documentoId)
    {
        $this->creado = \time();
        $this->documentoId = $documentoId;
    }

    /**
     * Get documentoId
     *
     * @return string 
     */
    public function getDocumentoId()
    {
        return $this->documentoId;
    }

    /**
     * Set departamento
     *
     * @param string $departamento
     */
    public function setDepartamento($departamento)
    {
        $this->departamento = $departamento;
    }

    /**
     * Get departamento
     *
     * @return string 
     */
    public function getDepartamento()
    {
        return $this->departamento;
    }

    /**
     * Set ciudad
     *
     * @param string $ciudad
     */
    public function setCiudad($ciudad)
    {
        $this->ciudad = $ciudad;
    }

    /**
     * Get ciudad
     *
     * @return string 
     */
    public function getCiudad()
    {
        return $this->ciudad;
    }

    /**
     * Set direccion
     *
     * @param string $direccion
     */
    public function setDireccion($direccion)
    {
        $this->direccion = $direccion;
    }

    /**
     * Get direccion
     *
     * @return string 
     */
    public function getDireccion()
    {
        return $this->direccion;
    }
    /**
     * Set estrato
     *
     * @param string $estrato
     */
    public function setEstrato($estrato)
    {
        $this->estrato = $estrato;
    }

    /**
     * Get estrato
     *
     * @return string 
     */
    public function getEstrato()
    {
        return $this->estrato;
    }

    /**
     * Set telefono
     *
     * @param string $telefono
     */
    public function setTelefono($telefono)
    {
        $this->telefono = $telefono;
    }

    /**
     * Get telefono
     *
     * @return string 
     */
    public function getTelefono()
    {
        return $this->telefono;
    }

    /**
     * Set correo
     *
     * @param string $correo
     */
    public function setCorreo($correo)
    {
        $this->correo = $correo;
    }

    /**
     * Get correo
     *
     * @return string 
     */
    public function getCorreo()
    {
        return $this->correo;
    }

    /**
     * Set acudiente
     *
     * @param string $acudiente
     */
    public function setAcudiente($acudiente)
    {
        $this->acudiente = $acudiente;
    }

    /**
     * Get acudiente
     *
     * @return string 
     */
    public function getAcudiente()
    {
        return $this->acudiente;
    }

    /**
     * Set parentesco
     *
     * @param string $parentesco
     */
    public function setParentesco($parentesco)
    {
        $this->parentesco = $parentesco;
    }

    /**
     * Get parentesco
     *
     * @return string 
     */
    public function getParentesco()
    {
        return $this->parentesco;
    }

    /**
     * Set estadoCivil
     *
     * @param string $estadoCivil
     */
    public function setEstadoCivil($estadoCivil)
    {
        $this->estadoCivil = $estadoCivil;
    }

    /**
     * Get estadoCivil
     *
     * @return string 
     */
    public function getEstadoCivil()
    {
        return $this->estadoCivil;
    }

    /**
     * Set numerosHermanos
     *
     * @param integer $numerosHermanos
     */
    public function setNumerosHermanos($numerosHermanos)
    {
        $this->numerosHermanos = $numerosHermanos;
    }

    /**
     * Get numerosHermanos
     *
     * @return integer 
     */
    public function getNumerosHermanos()
    {
        return $this->numerosHermanos;
    }

    /**
     * Set carreraDelAspirante
     *
     * @param integer $carreraDelAspirante
     */
    public function setCarreraDelAspirante($carreraDelAspirante)
    {
        $this->carreraDelAspirante = $carreraDelAspirante;
    }

    /**
     * Get carreraDelAspirante
     *
     * @return integer 
     */
    public function getCarreraDelAspirante()
    {
        return $this->carreraDelAspirante;
    }

    /**
     * Set nombreColegio
     *
     * @param string $nombreColegio
     */
    public function setNombreColegio($nombreColegio)
    {
        $this->nombreColegio = $nombreColegio;
    }

    /**
     * Get nombreColegio
     *
     * @return string 
     */
    public function getNombreColegio()
    {
        return $this->nombreColegio;
    }

    /**
     * Set municipioColegio
     *
     * @param string $municipioColegio
     */
    public function setMunicipioColegio($municipioColegio)
    {
        $this->municipioColegio = $municipioColegio;
    }

    /**
     * Get municipioColegio
     *
     * @return string 
     */
    public function getMunicipioColegio()
    {
        return $this->municipioColegio;
    }

    /**
     * Set telefonoColegio
     *
     * @param string $telefonoColegio
     */
    public function setTelefonoColegio($telefonoColegio)
    {
        $this->telefonoColegio = $telefonoColegio;
    }

    /**
     * Get telefonoColegio
     *
     * @return string 
     */
    public function getTelefonoColegio()
    {
        return $this->telefonoColegio;
    }

    /**
     * Set nombreRectorColegio
     *
     * @param string $nombreRectorColegio
     */
    public function setNombreRectorColegio($nombreRectorColegio)
    {
        $this->nombreRectorColegio = $nombreRectorColegio;
    }

    /**
     * Get nombreRectorColegio
     *
     * @return string 
     */
    public function getNombreRectorColegio()
    {
        return $this->nombreRectorColegio;
    }

    /**
     * Set fechaGraduacion
     *
     * @param string $fechaGraduacion
     */
    public function setFechaGraduacion($fechaGraduacion)
    {
        $this->fechaGraduacion = $fechaGraduacion;
    }

    /**
     * Get fechaGraduacion
     *
     * @return string 
     */
    public function getFechaGraduacion()
    {
        return $this->fechaGraduacion;
    }

    /**
     * Set tipoDocumentoIcfes
     *
     * @param string $tipoDocumentoIcfes
     */
    public function setTipoDocumentoIcfes($tipoDocumentoIcfes)
    {
        $this->tipoDocumentoIcfes = $tipoDocumentoIcfes;
    }

    /**
     * Get tipoDocumentoIcfes 
     *
     * @return string 
     */
    public function getTipoDocumentoIcfes()
    {
        return $this->tipoDocumentoIcfes;
    }
    
    /**
     * Set documentoIdIcfes
     *
     * @param string $documentoIdIcfes
     */
    public function setDocumentoIdIcfes($documentoIdIcfes)
    {
        $this->documentoIdIcfes = $documentoIdIcfes;
    }

    /**
     * Get documentoIdIcfess 
     *
     * @return string 
     */
    public function getDocumentoIdIcfes()
    {
        return $this->documentoIdIcfes;
    }
    
    
    /**
     * Set promedioIcfes
     *
     * @param decimal $promedioIcfes
     */
    public function setPromedioIcfes($promedioIcfes)
    {
        $this->promedioIcfes = $promedioIcfes;
    }

    /**
     * Get promedioIcfes
     *
     * @return decimal 
     */
    public function getPromedioIcfes()
    {
        return $this->promedioIcfes;
    }

    /**
     * Set puntMatemIcfes
     *
     * @param decimal $puntMatemIcfes
     */
    public function setPuntMatemIcfes($puntMatemIcfes)
    {
        $this->puntMatemIcfes = $puntMatemIcfes;
    }

    /**
     * Get puntMatemIcfes
     *
     * @return decimal 
     */
    public function getPuntMatemIcfes()
    {
        return $this->puntMatemIcfes;
    }

    /**
     * Set puntLenguIcfes
     *
     * @param decimal $puntLenguIcfes
     */
    public function setPuntLenguIcfes($puntLenguIcfes)
    {
        $this->puntLenguIcfes = $puntLenguIcfes;
    }

    /**
     * Get puntLenguIcfes
     *
     * @return decimal 
     */
    public function getPuntLenguIcfes()
    {
        return $this->puntLenguIcfes;
    }

    /**
     * Set puntFisicaIcfes
     *
     * @param decimal $puntFisicaIcfes
     */
    public function setPuntFisicaIcfes($puntFisicaIcfes)
    {
        $this->puntFisicaIcfes = $puntFisicaIcfes;
    }

    /**
     * Get puntFisicaIcfes
     *
     * @return decimal 
     */
    public function getPuntFisicaIcfes()
    {
        return $this->puntFisicaIcfes;
    }

    /**
     * Set puntFilosIcfes
     *
     * @param decimal $puntFilosIcfes
     */
    public function setPuntFilosIcfes($puntFilosIcfes)
    {
        $this->puntFilosIcfes = $puntFilosIcfes;
    }

    /**
     * Get puntFilosIcfes
     *
     * @return decimal 
     */
    public function getPuntFilosIcfes()
    {
        return $this->puntFilosIcfes;
    }

    /**
     * Set puntMinNucleo
     *
     * @param decimal $puntMinNucleo
     */
    public function setPuntMinNucleo($puntMinNucleo)
    {
        $this->puntMinNucleo = $puntMinNucleo;
    }

    /**
     * Get puntMinNucleo
     *
     * @return decimal 
     */
    public function getPuntMinNucleo()
    {
        return $this->puntMinNucleo;
    }

    /**
     * Set nombrePadre
     *
     * @param string $nombrePadre
     */
    public function setNombrePadre($nombrePadre)
    {
        $this->nombrePadre = $nombrePadre;
    }

    /**
     * Get nombrePadre
     *
     * @return string 
     */
    public function getNombrePadre()
    {
        return $this->nombrePadre;
    }

    /**
     * Set estadoTrabajoPadre
     *
     * @param string $estadoTrabajoPadre
     */
    public function setEstadoTrabajoPadre($estadoTrabajoPadre)
    {
        $this->estadoTrabajoPadre = $estadoTrabajoPadre;
    }

    /**
     * Get estadoTrabajoPadre
     *
     * @return string 
     */
    public function getEstadoTrabajoPadre()
    {
        return $this->estadoTrabajoPadre;
    }

    /**
     * Set trabajoPadre
     *
     * @param string $trabajoPadre
     */
    public function setTrabajoPadre($trabajoPadre)
    {
        $this->trabajoPadre = $trabajoPadre;
    }

    /**
     * Get trabajoPadre
     *
     * @return string 
     */
    public function getTrabajoPadre()
    {
        return $this->trabajoPadre;
    }

    /**
     * Set ocupacionPadre
     *
     * @param string $ocupacionPadre
     */
    public function setOcupacionPadre($ocupacionPadre)
    {
        $this->ocupacionPadre = $ocupacionPadre;
    }

    /**
     * Get ocupacionPadre
     *
     * @return string 
     */
    public function getOcupacionPadre()
    {
        return $this->ocupacionPadre;
    }

    /**
     * Set telefonoPadre
     *
     * @param string $telefonoPadre
     */
    public function setTelefonoPadre($telefonoPadre)
    {
        $this->telefonoPadre = $telefonoPadre;
    }

    /**
     * Get telefonoPadre
     *
     * @return string 
     */
    public function getTelefonoPadre()
    {
        return $this->telefonoPadre;
    }

    /**
     * Set nombreMadre
     *
     * @param string $nombreMadre
     */
    public function setNombreMadre($nombreMadre)
    {
        $this->nombreMadre = $nombreMadre;
    }

    /**
     * Get nombreMadre
     *
     * @return string 
     */
    public function getNombreMadre()
    {
        return $this->nombreMadre;
    }

    /**
     * Set estadoTrabajoMadre
     *
     * @param string $estadoTrabajoMadre
     */
    public function setEstadoTrabajoMadre($estadoTrabajoMadre)
    {
        $this->estadoTrabajoMadre = $estadoTrabajoMadre;
    }

    /**
     * Get estadoTrabajoMadre
     *
     * @return string 
     */
    public function getEstadoTrabajoMadre()
    {
        return $this->estadoTrabajoMadre;
    }

    /**
     * Set trabajoMadre
     *
     * @param string $trabajoMadre
     */
    public function setTrabajoMadre($trabajoMadre)
    {
        $this->trabajoMadre = $trabajoMadre;
    }

    /**
     * Get trabajoMadre
     *
     * @return string 
     */
    public function getTrabajoMadre()
    {
        return $this->trabajoMadre;
    }

    /**
     * Set ocupacionMadre
     *
     * @param string $ocupacionMadre
     */
    public function setOcupacionMadre($ocupacionMadre)
    {
        $this->ocupacionMadre = $ocupacionMadre;
    }

    /**
     * Get ocupacionMadre
     *
     * @return string 
     */
    public function getOcupacionMadre()
    {
        return $this->ocupacionMadre;
    }

    /**
     * Set telefonoMadre
     *
     * @param integer $telefonoMadre
     */
    public function setTelefonoMadre($telefonoMadre)
    {
        $this->telefonoMadre = $telefonoMadre;
    }

    /**
     * Get telefonoMadre
     *
     * @return integer 
     */
    public function getTelefonoMadre()
    {
        return $this->telefonoMadre;
    }

    /**
     * Set estadoCivilPadres
     *
     * @param string $estadoCivilPadres
     */
    public function setEstadoCivilPadres($estadoCivilPadres)
    {
        $this->estadoCivilPadres = $estadoCivilPadres;
    }

    /**
     * Get estadoCivilPadres
     *
     * @return string 
     */
    public function getEstadoCivilPadres()
    {
        return $this->estadoCivilPadres;
    }

    /**
     * Set responsableDelSostenimientoDelHogar
     *
     * @param string $responsableDelSostenimientoDelHogar
     */
    public function setResponsableDelSostenimientoDelHogar($responsableDelSostenimientoDelHogar)
    {
        $this->responsableDelSostenimientoDelHogar = $responsableDelSostenimientoDelHogar;
    }

    /**
     * Get responsableDelSostenimientoDelHogar
     *
     * @return string 
     */
    public function getResponsableDelSostenimientoDelHogar()
    {
        return $this->responsableDelSostenimientoDelHogar;
    }

    /**
     * Set dirrecionFamiliar
     *
     * @param string $dirrecionFamiliar
     */
    public function setDirrecionFamiliar($dirrecionFamiliar)
    {
        $this->dirrecionFamiliar = $dirrecionFamiliar;
    }

    /**
     * Get dirrecionFamiliar
     *
     * @return string 
     */
    public function getDirrecionFamiliar()
    {
        return $this->dirrecionFamiliar;
    }

    /**
     * Set tipoDeVivienda
     *
     * @param string $tipoDeVivienda
     */
    public function setTipoDeVivienda($tipoDeVivienda)
    {
        $this->tipoDeVivienda = $tipoDeVivienda;
    }

    /**
     * Get tipoDeVivienda
     *
     * @return string 
     */
    public function getTipoDeVivienda()
    {
        return $this->tipoDeVivienda;
    }

    /**
     * Set numeroDeHabitantesEnVivienda
     *
     * @param integer $numeroDeHabitantesEnVivienda
     */
    public function setNumeroDeHabitantesEnVivienda($numeroDeHabitantesEnVivienda)
    {
        $this->numeroDeHabitantesEnVivienda = $numeroDeHabitantesEnVivienda;
    }

    /**
     * Get numeroDeHabitantesEnVivienda
     *
     * @return integer 
     */
    public function getNumeroDeHabitantesEnVivienda()
    {
        return $this->numeroDeHabitantesEnVivienda;
    }
}