You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.2 KiB
74 lines
2.2 KiB
<?php
|
|
|
|
namespace Database;
|
|
|
|
use DateTime;
|
|
use Model\Notification;
|
|
use Model\Training;
|
|
use Shared\Log;
|
|
|
|
class NotificationMapper
|
|
{
|
|
public function notificationSqlToEntity(array $data): array
|
|
{
|
|
$notificationEntities = [];
|
|
|
|
foreach ($data as $notificationData) {
|
|
$notification = new NotificationEntity();
|
|
|
|
if (isset($notificationData['idnotif'])) {
|
|
$notification->setIdNotif($notificationData['idnotif']);
|
|
}
|
|
|
|
if (isset($notificationData['message'])) {
|
|
$notification->setMessage($notificationData['message']);
|
|
}
|
|
|
|
if (isset($notificationData['date'])) {
|
|
$notification->setDate($notificationData['date']);
|
|
}
|
|
|
|
if (isset($notificationData['statut'])) {
|
|
$notification->setStatut($notificationData['statut']);
|
|
}
|
|
|
|
if (isset($notificationData['urgence'])) {
|
|
$notification->setUrgence($notificationData['urgence']);
|
|
}
|
|
|
|
if (isset($notificationData['athleteid'])) {
|
|
$notification->setIdAthlete($notificationData['athleteid']);
|
|
}
|
|
|
|
$notificationEntities[] = $notification;
|
|
}
|
|
|
|
return $notificationEntities;
|
|
}
|
|
|
|
public function notificationEntityToModel(NotificationEntity $notificationEntity): Notification
|
|
{
|
|
$date = new DateTime($notificationEntity->getDate());
|
|
return new Notification(
|
|
$notificationEntity->getIdNotif(),
|
|
$notificationEntity->getMessage(),
|
|
$date,
|
|
$notificationEntity->getStatut(),
|
|
$notificationEntity->getUrgence(),
|
|
$notificationEntity->getIdAthlete()
|
|
);
|
|
}
|
|
|
|
public function notificationToEntity(Notification $notification): NotificationEntity
|
|
{
|
|
$notif = new NotificationEntity();
|
|
$notif->setIdNotif($notification->getId());
|
|
$notif->setMessage($notification->getMessage());
|
|
$notif->setDate($notification->getDate()->format('Y-m-d H:i:s'));
|
|
$notif->setStatut($notification->getStatut());
|
|
$notif->setUrgence($notification->getUrgence());
|
|
$notif->setIdAthlete($notification->getToUserId());
|
|
|
|
return $notif;
|
|
}
|
|
} |