1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- /**
- * Created by PhpStorm.
- * User: robin
- * Date: 9/30/16
- * Time: 8:58 PM
- */
-
- namespace App\Business;
-
- use App\DataAccess\RoutesDataAccess;
- use App\Dbo\RoutesDbo;
- use Luticate\Utils\Dbo\LuPaginatedDbo;
-
- class RoutesBusiness
- {
- protected static function getDataAccess()
- {
- return new RoutesDataAccess();
- }
- public static function containsRouteId(array $routes, string $id)
- {
- /**
- * @var $routes RoutesDbo[]
- */
- foreach ($routes as $route) {
- if ($route->getId() == $id) {
- return true;
- }
- }
- return false;
- }
-
- public static function getAll()
- {
- $config = MiscBusiness::getConfig();
- $dbos = [];
- foreach ($config["scheduleTypes"] as $scheduleType) {
- $scheduleDbos = static::getDataAccess()->getAll($scheduleType["resourceId"], $scheduleType["type"]);
- foreach ($scheduleDbos as $scheduleDbo) {
- if (!static::containsRouteId($dbos, $scheduleDbo->getId())) {
- $dbos[] = $scheduleDbo;
- }
- }
- }
- usort($dbos, function ($dbo1, $dbo2)
- {
- /**
- * @var $dbo1 RoutesDbo
- * @var $dbo2 RoutesDbo
- */
- return intval($dbo1->getId()) > intval($dbo2->getId());
- });
- return new LuPaginatedDbo(count($dbos), $dbos);
- }
- }
|