public function addMultiple(array $tasks): \BearFramework\Tasks
    {
        $taskLists = [];
        foreach ($tasks as $index => $task) {
            if (!isset($task['definitionID'])) {
                throw new \Exception('The definitionID key is missing for task with index ' . $index);
            }
            if (!is_string($task['definitionID'])) {
                throw new \Exception('The definitionID key must be of type string for index ' . $index);
            }
            $listID = '';
            $startTime = null;
            if (isset($task['options'])) {
                if (is_array($task['options'])) {
                    if (isset($task['options']['listID'])) {
                        $listID = (string) $task['options']['listID'];
                    }
                    if (isset($task['options']['startTime'])) {
                        $startTime = (int) $task['options']['startTime'];
                    }
                } else {
                    throw new \Exception('The \'options\' key must be of type array for index ' . $index);
                }
            }
            if (!isset($taskLists[$listID])) {
                $taskLists[$listID] = [
                    'minStartTime' => null,
                    'data' => []
                ];
            }
            if ($startTime !== null && ($taskLists[$listID]['minStartTime'] === null || $startTime < $taskLists[$listID]['minStartTime'])) {
                $taskLists[$listID]['minStartTime'] = $startTime;
            }
            $taskLists[$listID]['data'][] = $task;
        }
        foreach ($taskLists as $listID => $taskListData) {
            $options = [];
            $options['listID'] = $listID;
            if ($taskListData['minStartTime'] !== null) {
                $options['startTime'] = $taskListData['minStartTime'];
            }
            $this->add('--internal-add-multiple-task-definition', $taskListData['data'], $options);
        }
        return $this;
    }
public function addMultiple(array $tasks): \BearFramework\Tasks
    {
        $taskLists = [];
        foreach ($tasks as $index => $task) {
            if (!isset($task['definitionID'])) {
                throw new \Exception('The definitionID key is missing for task with index ' . $index);
            }
            if (!is_string($task['definitionID'])) {
                throw new \Exception('The definitionID key must be of type string for index ' . $index);
            }
            $listID = '';
            $startTime = null;
            if (isset($task['options'])) {
                if (is_array($task['options'])) {
                    if (isset($task['options']['listID'])) {
                        $listID = (string) $task['options']['listID'];
                    }
                    if (isset($task['options']['startTime'])) {
                        $startTime = (int) $task['options']['startTime'];
                    }
                } else {
                    throw new \Exception('The \'options\' key must be of type array for index ' . $index);
                }
            }
            if (!isset($taskLists[$listID])) {
                $taskLists[$listID] = [
                    'minStartTime' => null,
                    'data' => []
                ];
            }
            if ($startTime !== null && ($taskLists[$listID]['minStartTime'] === null || $startTime < $taskLists[$listID]['minStartTime'])) {
                $taskLists[$listID]['minStartTime'] = $startTime;
            }
            $taskLists[$listID]['data'][] = $task;
        }
        foreach ($taskLists as $listID => $taskListData) {
            $options = [];
            $options['listID'] = $listID;
            if ($taskListData['minStartTime'] !== null) {
                $options['startTime'] = $taskListData['minStartTime'];
            }
            $this->add('--internal-add-multiple-task-definition', $taskListData['data'], $options);
        }
        return $this;
    }
public function addMultiple ( array $ tasks ) : \ BearFramework \ Tasks { $ taskLists = [ ] ; foreach ( $ tasks as $ index => $ task ) { if ( ! isset ( $ task [ 'definitionID' ] ) ) { throw new \ Exception ( 'The definitionID key is missing for task with index ' . $ index ) ; } if ( ! is_string ( $ task [ 'definitionID' ] ) ) { throw new \ Exception ( 'The definitionID key must be of type string for index ' . $ index ) ; } $ listID = '' ; $ startTime = null ; if ( isset ( $ task [ 'options' ] ) ) { if ( is_array ( $ task [ 'options' ] ) ) { if ( isset ( $ task [ 'options' ] [ 'listID' ] ) ) { $ listID = ( string ) $ task [ 'options' ] [ 'listID' ] ; } if ( isset ( $ task [ 'options' ] [ 'startTime' ] ) ) { $ startTime = ( int ) $ task [ 'options' ] [ 'startTime' ] ; } } else { throw new \ Exception ( 'The \'options\' key must be of type array for index ' . $ index ) ; } } if ( ! isset ( $ taskLists [ $ listID ] ) ) { $ taskLists [ $ listID ] = [ 'minStartTime' => null , 'data' => [ ] ] ; } if ( $ startTime !== null && ( $ taskLists [ $ listID ] [ 'minStartTime' ] === null || $ startTime < $ taskLists [ $ listID ] [ 'minStartTime' ] ) ) { $ taskLists [ $ listID ] [ 'minStartTime' ] = $ startTime ; } $ taskLists [ $ listID ] [ 'data' ] [ ] = $ task ; } foreach ( $ taskLists as $ listID => $ taskListData ) { $ options = [ ] ; $ options [ 'listID' ] = $ listID ; if ( $ taskListData [ 'minStartTime' ] !== null ) { $ options [ 'startTime' ] = $ taskListData [ 'minStartTime' ] ; } $ this -> add ( '--internal-add-multiple-task-definition' , $ taskListData [ 'data' ] , $ options ) ; } return $ this ; }
Adds multiple tasks.

@param array $tasks Format: [['definitionID'=>'...', 'data'=>'...', 'options'=>'...']]
@return \BearFramework\Tasks Returns an instance to itself.
@throws \Exception
Adds multiple tasks .