<?php
namespace App\Entity;
use App\Asistencia\Entity\Anuncio;
use App\Repository\ArchivoRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=ArchivoRepository::class)
*/
class Archivo
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="blob")
*/
private $archivo;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $nombre;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $extencion;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $mime_type;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $size;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $origen;
/**
* @ORM\OneToMany(targetEntity=ArchivoCurso::class, mappedBy="archivo")
*/
private $archivoCursos;
/**
* @ORM\OneToMany(targetEntity=TareaArchivo::class, mappedBy="archivo")
*/
private $tareaArchivos;
/**
* @ORM\OneToMany(targetEntity=TareaEstudianteArchivo::class, mappedBy="archivo")
*/
private $tareaEstudianteArchivos;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $base64;
public function __construct()
{
$this->archivoCursos = new ArrayCollection();
$this->tareaArchivos = new ArrayCollection();
$this->tareaEstudianteArchivos = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getArchivo()
{
return $this->archivo;
}
public function setArchivo($archivo): self
{
$this->archivo = $archivo;
return $this;
}
public function getNombre(): ?string
{
return $this->nombre;
}
public function setNombre(?string $nombre): self
{
$this->nombre = $nombre;
return $this;
}
public function getExtencion(): ?string
{
return $this->extencion;
}
public function setExtencion(?string $extencion): self
{
$this->extencion = $extencion;
return $this;
}
public function getMimeType(): ?string
{
return $this->mime_type;
}
public function setMimeType(?string $mime_type): self
{
$this->mime_type = $mime_type;
return $this;
}
public function getSize(): ?int
{
return $this->size;
}
public function setSize(?int $size): self
{
$this->size = $size;
return $this;
}
public function getOrigen(): ?string
{
return $this->origen;
}
public function setOrigen(?string $origen): self
{
$this->origen = $origen;
return $this;
}
/**
* @return Collection<int, ArchivoCurso>
*/
public function getArchivoCursos(): Collection
{
return $this->archivoCursos;
}
public function addArchivoCurso(ArchivoCurso $archivoCurso): self
{
if (!$this->archivoCursos->contains($archivoCurso)) {
$this->archivoCursos[] = $archivoCurso;
$archivoCurso->setArchivo($this);
}
return $this;
}
public function removeArchivoCurso(ArchivoCurso $archivoCurso): self
{
if ($this->archivoCursos->removeElement($archivoCurso)) {
// set the owning side to null (unless already changed)
if ($archivoCurso->getArchivo() === $this) {
$archivoCurso->setArchivo(null);
}
}
return $this;
}
/**
* @return Collection<int, TareaArchivo>
*/
public function getTareaArchivos(): Collection
{
return $this->tareaArchivos;
}
public function addTareaArchivo(TareaArchivo $tareaArchivo): self
{
if (!$this->tareaArchivos->contains($tareaArchivo)) {
$this->tareaArchivos[] = $tareaArchivo;
$tareaArchivo->setArchivo($this);
}
return $this;
}
public function removeTareaArchivo(TareaArchivo $tareaArchivo): self
{
if ($this->tareaArchivos->removeElement($tareaArchivo)) {
// set the owning side to null (unless already changed)
if ($tareaArchivo->getArchivo() === $this) {
$tareaArchivo->setArchivo(null);
}
}
return $this;
}
public function getBase(): string{
return base64_encode(stream_get_contents($this->getArchivo()));
}
/**
* @return Collection<int, TareaEstudianteArchivo>
*/
public function getTareaEstudianteArchivos(): Collection
{
return $this->tareaEstudianteArchivos;
}
public function addTareaEstudianteArchivo(TareaEstudianteArchivo $tareaEstudianteArchivo): self
{
if (!$this->tareaEstudianteArchivos->contains($tareaEstudianteArchivo)) {
$this->tareaEstudianteArchivos[] = $tareaEstudianteArchivo;
$tareaEstudianteArchivo->setArchivo($this);
}
return $this;
}
public function removeTareaEstudianteArchivo(TareaEstudianteArchivo $tareaEstudianteArchivo): self
{
if ($this->tareaEstudianteArchivos->removeElement($tareaEstudianteArchivo)) {
// set the owning side to null (unless already changed)
if ($tareaEstudianteArchivo->getArchivo() === $this) {
$tareaEstudianteArchivo->setArchivo(null);
}
}
return $this;
}
public function getBase64(): ?string
{
return $this->base64;
}
public function setBase64(?string $base64): self
{
$this->base64 = $base64;
return $this;
}
}