33namespace HiEvents \Exports ;
44
55use Carbon \Carbon ;
6+ use HiEvents \DomainObjects \AttendeeDomainObject ;
67use HiEvents \DomainObjects \Enums \QuestionTypeEnum ;
8+ use HiEvents \DomainObjects \Enums \TicketType ;
79use HiEvents \DomainObjects \QuestionDomainObject ;
10+ use HiEvents \DomainObjects \TicketDomainObject ;
11+ use HiEvents \DomainObjects \TicketPriceDomainObject ;
812use HiEvents \Resources \Attendee \AttendeeResource ;
913use HiEvents \Services \Domain \Question \QuestionAnswerFormatter ;
1014use Illuminate \Contracts \Pagination \LengthAwarePaginator ;
@@ -50,6 +54,7 @@ public function headings(): array
5054 'Is Checked In ' ,
5155 'Checked In At ' ,
5256 'Ticket ID ' ,
57+ 'Ticket Name ' ,
5358 'Event ID ' ,
5459 'Public ID ' ,
5560 'Short ID ' ,
@@ -58,6 +63,10 @@ public function headings(): array
5863 ], $ questionTitles );
5964 }
6065
66+ /**
67+ * @param AttendeeDomainObject $attendee
68+ * @return array
69+ */
6170 public function map ($ attendee ): array
6271 {
6372 $ answers = $ this ->questions ->map (function (QuestionDomainObject $ question ) use ($ attendee ) {
@@ -70,17 +79,28 @@ public function map($attendee): array
7079 );
7180 });
7281
82+ /** @var TicketDomainObject $ticket */
83+ $ ticket = $ attendee ->getTicket ();
84+ $ ticketName = $ ticket ->getTitle ();
85+ if ($ attendee ->getTicket ()?->getType() === TicketType::TIERED ->name ) {
86+ $ ticketName .= ' - ' . $ ticket
87+ ->getTicketPrices ()
88+ ->first (fn (TicketPriceDomainObject $ tp ) => $ tp ->getId () === $ attendee ->getTicketPriceId ())
89+ ->getLabel ();
90+ }
91+
7392 return array_merge ([
7493 $ attendee ->getId (),
7594 $ attendee ->getFirstName (),
7695 $ attendee ->getLastName (),
7796 $ attendee ->getEmail (),
7897 $ attendee ->getStatus (),
79- $ attendee ->getCheckedInAt () ? 'Yes ' : 'No ' ,
80- $ attendee ->getCheckedInAt ()
81- ? Carbon::parse ($ attendee ->getCheckedInAt ())->format ('Y-m-d H:i:s ' )
98+ $ attendee ->getCheckIn () ? 'Yes ' : 'No ' ,
99+ $ attendee ->getCheckIn ()
100+ ? Carbon::parse ($ attendee ->getCheckIn ()-> getCreatedAt ())->format ('Y-m-d H:i:s ' )
82101 : '' ,
83102 $ attendee ->getTicketId (),
103+ $ ticketName ,
84104 $ attendee ->getEventId (),
85105 $ attendee ->getPublicId (),
86106 $ attendee ->getShortId (),
0 commit comments