141 lines
2.8 KiB
PHP
141 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace App\Entity;
|
|
|
|
use App\Enums\State;
|
|
use App\Repository\LocationRepository;
|
|
use Doctrine\DBAL\Types\Types;
|
|
use Doctrine\ORM\Mapping as ORM;
|
|
use Symfony\Bridge\Doctrine\Types\UuidType;
|
|
use Symfony\Component\Uid\Uuid;
|
|
|
|
#[ORM\Entity(repositoryClass: LocationRepository::class)]
|
|
class Location
|
|
{
|
|
#[ORM\Id]
|
|
#[ORM\Column(type: UuidType::NAME, unique: true)]
|
|
#[ORM\GeneratedValue(strategy: 'CUSTOM')]
|
|
#[ORM\CustomIdGenerator(class: 'doctrine.uuid_generator')]
|
|
private ?Uuid $id = null;
|
|
|
|
#[ORM\Column(length: 45)]
|
|
private ?string $name = null;
|
|
|
|
#[ORM\Column(length: 255)]
|
|
private ?string $address = null;
|
|
|
|
#[ORM\Column(length: 100, nullable: true)]
|
|
private ?string $city = null;
|
|
|
|
#[ORM\Column(length: 10, nullable: true)]
|
|
private ?State $state = null;
|
|
|
|
#[ORM\Column(nullable: true)]
|
|
private ?int $zip = null;
|
|
|
|
#[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 6, nullable: true)]
|
|
private ?string $lat = null;
|
|
|
|
#[ORM\Column(type: Types::DECIMAL, precision: 10, scale: 6, nullable: true)]
|
|
private ?string $lon = null;
|
|
|
|
public function getId(): ?Uuid
|
|
{
|
|
return $this->id;
|
|
}
|
|
|
|
public function getName(): ?string
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
public function setName(string $name): static
|
|
{
|
|
$this->name = $name;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getAddress(): ?string
|
|
{
|
|
return $this->address;
|
|
}
|
|
|
|
public function setAddress(string $address): static
|
|
{
|
|
$this->address = $address;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getCity(): ?string
|
|
{
|
|
return $this->city;
|
|
}
|
|
|
|
public function setCity(?string $city): static
|
|
{
|
|
$this->city = $city;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getState(): ?State
|
|
{
|
|
return $this->state;
|
|
}
|
|
|
|
public function setState(?State $state): static
|
|
{
|
|
$this->state = $state;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getZip(): ?int
|
|
{
|
|
return $this->zip;
|
|
}
|
|
|
|
public function setZip(?int $zip): static
|
|
{
|
|
$this->zip = $zip;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getFormattedAddress(): string
|
|
{
|
|
return "{$this->address}<br/>{$this->city}, {$this->state->value} {$this->zip}";
|
|
}
|
|
|
|
public function getLat(): ?string
|
|
{
|
|
return $this->lat;
|
|
}
|
|
|
|
public function setLat(?string $lat): static
|
|
{
|
|
$this->lat = $lat;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function getLon(): ?string
|
|
{
|
|
return $this->lon;
|
|
}
|
|
|
|
public function setLon(?string $lon): static
|
|
{
|
|
$this->lon = $lon;
|
|
|
|
return $this;
|
|
}
|
|
|
|
public function __toString(): string
|
|
{
|
|
return "{$this->address} {$this->city}, {$this->state->value} {$this->zip}";
|
|
}
|
|
}
|