<?php
namespace App\Entity;
use App\Repository\LocationRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use JsonSerializable;
/**
* @ORM\Entity(repositoryClass=LocationRepository::class)
*/
class Location implements JsonSerializable
{
const TYPE_FIELD = 'TYPE_FIELD'; #Potrero
const TYPE_PEN = 'TYPE_PEN'; # Corral
const PASTURA_ALFAFA = 'PASTURA_ALFAFA';
const PASTURA_FESTUCA = 'PASTURA_FESTUCA';
const PASTURA_AGRORIO = 'PASTURA_AGRORIO';
const CAMPO_NATURAL = 'CAMPO_NATURAL';
const VERDEO_AVENA = 'VERDEO_AVENA';
const VERDEO_CEBADA = 'VERDEO_CEBADA';
const VERDEO_CENTENO = 'VERDEO_CENTENO';
const VERDEO_TRITICALE = 'VERDEO_TRITICALE';
const VERDEO_SORGO = 'VERDEO_SORGO';
const VERDEO_MOHA = 'VERDEO_MOHA';
const VERDEO_MIJO = 'VERDEO_MIJO';
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="string", length=255)
*/
private $type;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $hectares;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $observation;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $deleted = false;
/**
* @ORM\Column(type="datetime", nullable=false)
*/
private $created;
/**
* Many locations have one farm
* @ORM\ManyToOne(targetEntity="Farm", inversedBy="locations")
* @ORM\JoinColumn(name="farm_id", referencedColumnName="id")
*/
private $farm;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $mapDraw;
/**
* @ORM\Column(type="array", nullable=true)
*/
private $resource;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $foodRation;
/**
* @ORM\Column(type="string", length=255, nullable=true, options={"default" : "#57a617"})
*/
private $color;
public function __construct()
{
$this->created = new \DateTime();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getType(): ?string
{
return $this->type;
}
public function setType(string $type): self
{
$this->type = $type;
return $this;
}
public function getHectares(): ?int
{
return $this->hectares;
}
public function setHectares(?int $hectares): self
{
$this->hectares = $hectares;
return $this;
}
public function getObservation(): ?string
{
return $this->observation;
}
public function setObservation(?string $observation): self
{
$this->observation = $observation;
return $this;
}
public function getDeleted(): ?bool
{
return $this->deleted;
}
public function setDeleted(?bool $deleted): self
{
$this->deleted = $deleted;
return $this;
}
public function getCreated(): ?\DateTimeInterface
{
return $this->created;
}
public function setCreated(\DateTimeInterface $created): self
{
$this->created = $created;
return $this;
}
public function getMapDraw(): ?string
{
return $this->mapDraw;
}
public function setMapDraw(?string $mapDraw): self
{
$this->mapDraw = $mapDraw;
return $this;
}
public function getFarm(): ?Farm
{
return $this->farm;
}
public function setFarm(?Farm $farm): self
{
$this->farm = $farm;
return $this;
}
public function jsonSerialize()
{
return array(
'id' => $this->id,
'name' => $this->name,
'mapDraw' => $this->mapDraw,
);
}
public function __toString()
{
return $this->name;
}
public function getResource(): ?array
{
return $this->resource;
}
public function setResource(?array $resource): self
{
$this->resource = $resource;
return $this;
}
public function getFoodRation(): ?string
{
return $this->foodRation;
}
public function setFoodRation(?string $foodRation): self
{
$this->foodRation = $foodRation;
return $this;
}
/**
* @return mixed
*/
public function getColor()
{
return $this->color;
}
/**
* @param mixed $color
*/
public function setColor($color): void
{
$this->color = $color;
}
public function isDeleted(): ?bool
{
return $this->deleted;
}
}