43 lines
1 KiB
PHP
43 lines
1 KiB
PHP
<?php
|
|
|
|
namespace App\Factory;
|
|
|
|
use App\Core\Factory\FactoryInterface;
|
|
use App\Entity\Event as Entity;
|
|
use App\Webdav\Event as CalEvent;
|
|
|
|
class EventFactory implements FactoryInterface
|
|
{
|
|
public function create(): Entity
|
|
{
|
|
return new Entity();
|
|
}
|
|
|
|
public function createFromEvent(CalEvent $event): Entity
|
|
{
|
|
$entity = new Entity();
|
|
$entity
|
|
->setUid($event->getUid())
|
|
->setSummary($event->getSummary())
|
|
->setDescription($event->getDescription())
|
|
->setStartAt($event->getStartAt())
|
|
->setFinishAt($event->getFinishAt())
|
|
;
|
|
|
|
return $entity;
|
|
}
|
|
|
|
public function updateFromEvent(Entity $entity, CalEvent $event): Entity
|
|
{
|
|
$entity
|
|
->setUid($event->getUid())
|
|
->setSummary($event->getSummary())
|
|
->setDescription($event->getDescription())
|
|
->setStartAt($event->getStartAt())
|
|
->setFinishAt($event->getFinishAt())
|
|
;
|
|
|
|
return $entity;
|
|
}
|
|
}
|