<?php
namespace Aviatur\FormBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Newsletter.
*
* @ORM\Table(name="newsletter_form")
* @ORM\Entity(repositoryClass="Aviatur\FormBundle\Entity\NewsletterRepository")
* @UniqueEntity(
* fields={"email"},
* message="El email ya se encuentra en nuestro sistema."
* )
*/
class Newsletter
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="firstname", type="string", length=64, nullable=true)
*/
private $firstname;
/**
* @var string
*
* @ORM\Column(name="lastname", type="string", length=64, nullable=true)
*/
private $lastname;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=255)
* @Assert\NotNull(message="Debe Diligenciar el campo Email")
* @Assert\Email(message = "El mail ingresado no tiene el formato correcto.")
*/
protected $email;
/**
* @var \Agency
*
* @ORM\ManyToOne(targetEntity="Aviatur\AgencyBundle\Entity\Agency", inversedBy="newsletter")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="agency_id", referencedColumnName="id")
* })
*/
private $agency;
/**
* @var \DateTime
*
* @ORM\Column(name="publicationDate", type="datetime", nullable=false)
*/
private $publicationdate;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set firstname.
*
* @param string $firstname
*
* @return Newsletter
*/
public function setFirstname($firstname = null)
{
$this->firstname = $firstname;
return $this;
}
/**
* Get firstname.
*
* @return string
*/
public function getFirstname()
{
return $this->firstname;
}
/**
* Set lastname.
*
* @param string $lastname
*
* @return Newsletter
*/
public function setLastname($lastname = null)
{
$this->lastname = $lastname;
return $this;
}
/**
* Get lastname.
*
* @return string
*/
public function getLastname()
{
return $this->lastname;
}
/**
* Set email.
*
* @param string $email
*
* @return Newsletter
*/
public function setEmail($email)
{
$this->email = $email;
return $this;
}
/**
* Get email.
*
* @return string
*/
public function getEmail()
{
return $this->email;
}
/**
* Set agency.
*
* @param \Aviatur\AgencyBundle\Entity\Agency $agency
*
* @return Service
*/
public function setAgency(\Aviatur\AgencyBundle\Entity\Agency $agency = null)
{
$this->agency = $agency;
return $this;
}
/**
* Get agency.
*
* @return \Aviatur\AgencyBundle\Entity\Agency
*/
public function getAgency()
{
return $this->agency;
}
/**
* Set publicationdate.
*
* @param \DateTime $publicationdate
*
* @return Newsletter
*/
public function setPublicationdate($publicationdate)
{
$this->publicationdate = $publicationdate;
return $this;
}
/**
* Get publicationdate.
*
* @return \DateTime
*/
public function getPublicationdate()
{
return $this->publicationdate;
}
}