<?php
namespace App\Application\Internit\RespostaSolicitacaoBundle\Entity;
use App\Application\Internit\ClienteBundle\Entity\Cliente;
use App\Application\Internit\RespostaSolicitacaoBundle\Repository\RespostaSolicitacaoRepository;
use App\Application\Internit\AndamentoSolicitacaoBundle\Entity\AndamentoSolicitacao;
use App\Application\Project\ContentBundle\Entity\BaseEntity;
use App\Application\Project\SecurityAdminBundle\Entity\UserAdmin;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use App\Entity\SonataMediaGallery;
use App\Entity\SonataMediaMedia;
use Doctrine\ORM\Mapping as ORM;
use DateTime;
/** Info: */
#[ORM\Table(name: 'resposta_solicitacao')]
#[ORM\Entity(repositoryClass: RespostaSolicitacaoRepository::class)]
#[UniqueEntity('id')]
#[ORM\HasLifecycleCallbacks]
class RespostaSolicitacao extends BaseEntity
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(name: 'id', type: 'integer', unique: true, nullable: false)]
private ?int $id = null;
##[Assert\NotNull]
##[Assert\NotBlank]
#[ORM\Column(name: 'assunto', type: 'string', unique: false, nullable: true)]
private ?string $assunto = null;
#[Assert\NotNull]
#[Assert\NotBlank]
#[ORM\Column(name: 'mensagem', type: 'text', unique: false, nullable: true)]
private ?string $mensagem;
#[Assert\NotNull]
#[Assert\NotBlank]
#[ORM\Column(name: 'respondidoPor', type: 'string', unique: false, nullable: false)]
private string $respondidoPor;
#[ORM\ManyToOne(targetEntity: AndamentoSolicitacao::class, inversedBy: 'respostasSolicitacao')]
#[ORM\JoinColumn(name: 'andamentoSolicitacao_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
private AndamentoSolicitacao|null $andamentoSolicitacao = null;
#[ORM\ManyToOne(targetEntity: UserAdmin::class)]
#[ORM\JoinColumn(name: 'admin_resposta', referencedColumnName: 'id', onDelete: 'SET NULL')]
private UserAdmin|null $adminResposta = null;
#[Assert\NotNull]
#[Assert\NotBlank]
#[ORM\ManyToOne(targetEntity: Cliente::class)]
#[ORM\JoinColumn(name: 'cliente_resposta_id', referencedColumnName: 'id', onDelete: 'SET NULL')]
private Cliente|null $clienteResposta = null;
#[ORM\ManyToOne(targetEntity: SonataMediaGallery::class, cascade: ['persist'])]
private mixed $anexos;
public function __construct(){}
public function getId(): ?int
{
return $this->id;
}
public function getAssunto(): ?string
{
return $this->assunto;
}
public function setAssunto(?string $assunto): void
{
$this->assunto = $assunto;
}
public function getMensagem(): ?string
{
return $this->mensagem;
}
public function setMensagem(?string $mensagem): void
{
$this->mensagem = $mensagem;
}
public function getAndamentoSolicitacao(): ?AndamentoSolicitacao
{
return $this->andamentoSolicitacao;
}
public function setAndamentoSolicitacao(?AndamentoSolicitacao $andamentoSolicitacao): void
{
$this->andamentoSolicitacao = $andamentoSolicitacao;
}
public function getAnexos(): mixed
{
return $this->anexos;
}
public function setAnexos(mixed $anexos): void
{
$this->anexos = $anexos;
}
public function getRespondidoPor(): string
{
return $this->respondidoPor;
}
public function setRespondidoPor(string $respondidoPor): void
{
$this->respondidoPor = $respondidoPor;
}
public function getClienteResposta(): ?Cliente
{
return $this->clienteResposta;
}
public function setClienteResposta(?Cliente $clienteResposta): void
{
$this->clienteResposta = $clienteResposta;
}
public function getAdminResposta(): ?UserAdmin
{
return $this->adminResposta;
}
public function setAdminResposta(?UserAdmin $adminResposta): void
{
$this->adminResposta = $adminResposta;
}
}