summaryrefslogtreecommitdiff
path: root/app/php/dto/CalendarGroupDTO.php
blob: 75ec6c664d849fd5b148b9df9c098fe68a079328 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php

Prado::using('Application.model.Category');
Prado::using('Application.dto.CalendarDTO');

class CalendarGroupDTO {

    public $Name;
    public $Calendars = [];

    public function loadRecord(Category $categoryRecord, array $calendars) {
        $this->Name = $categoryRecord->Name;
        $this->Calendars = array_map(
            function($calendarRecord) {
                $dto = new CalendarDTO();
                $dto->loadRecord($calendarRecord);
                return $dto;
            },
            array_filter(
                $calendars,
                function($calendarRecord) use($categoryRecord) {
                    return $categoryRecord->ID == $calendarRecord->CategoryID;
                }
            )
        );
        usort(
            $this->Calendars,
            function ($cal1, $cal2) {
                return strcmp($cal1->Name, $cal2->Name);
            }
        );
    }

}

?>