53 lines
1.7 KiB
PHP
53 lines
1.7 KiB
PHP
|
<?php
|
||
|
namespace Bdp\Modules\EventParticipants\Reqeust;
|
||
|
|
||
|
|
||
|
use Bdp\Modules\EventParticipants\Models\Event;
|
||
|
use Bdp\Modules\EventParticipants\Models\EventParticipant;
|
||
|
use Carbon\Carbon;
|
||
|
|
||
|
class EatingRequest {
|
||
|
public static function send(array $participantList, string $eatingHabit, \DateTime $date) {
|
||
|
$participantCount = [ '1' => 0, '2' => 0, '3' => 0 ];
|
||
|
|
||
|
foreach ($participantList as $participant) {
|
||
|
if ( $participant->essgewohnheit !== $eatingHabit ) {
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
$anreise = \DateTime::createFromFormat( 'Y-m-d', $participant->anreise );
|
||
|
$abreise = \DateTime::createFromFormat( 'Y-m-d', $participant->abreise );
|
||
|
|
||
|
if ( $anreise->getTimestamp() < $date->getTimestamp() && $abreise->getTimestamp() > $date->getTimestamp() ) {
|
||
|
$participantCount['1']++;
|
||
|
$participantCount['2']++;
|
||
|
$participantCount['3']++;
|
||
|
} elseif ( $anreise->getTimestamp() == $date->getTimestamp() ) { // Anreisetag
|
||
|
if ( $participant->anreise_essen == 3 ) {
|
||
|
$participantCount['1']++;
|
||
|
$participantCount['2']++;
|
||
|
$participantCount['3']++;
|
||
|
} elseif ( $participant->anreise_essen == 2 ) {
|
||
|
$participantCount['2']++;
|
||
|
$participantCount['3']++;
|
||
|
} elseif ( $participant->anreise_essen == 1 ) {
|
||
|
$participantCount['3']++;
|
||
|
}
|
||
|
} elseif ( $abreise->getTimestamp() == $date->getTimestamp() ) { // Abreisetag
|
||
|
if ( $participant->abreise_essen == 3 ) {
|
||
|
$participantCount['1']++;
|
||
|
$participantCount['2']++;
|
||
|
$participantCount['3']++;
|
||
|
} elseif ( $participant->abreise_essen == 2 ) {
|
||
|
$participantCount['1']++;
|
||
|
$participantCount['2']++;
|
||
|
} elseif ( $participant->abreise_essen == 1 ) {
|
||
|
$participantCount['1']++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
return $participantCount;
|
||
|
}
|
||
|
}
|