public static function GetAndStoreTaskLocations($caller, $sessionTask)
 {
     $sessionTasks = $caller->user()->getAttribute(\Library\Enums\SessionKeys::SessionTasks);
     $taskLocation = new \Applications\PMTool\Models\Dao\Task_location();
     $taskLocation->setTask_id($sessionTask[\Library\Enums\SessionKeys::TaskObj]->task_id());
     //    if (!(count($sessionTask[\Library\Enums\SessionKeys::TaskLocations]) > 0)) {
     $dal = $caller->managers()->getManagerOf("TaskLocation");
     $sessionTask[\Library\Enums\SessionKeys::TaskLocations] = $dal->selectMany($taskLocation, "task_id");
     //    }
     TaskHelper::SetSessionTask($caller->user(), $sessionTask);
     TaskHelper::SetCurrentSessionTask($caller->user(), $sessionTask);
     return self::GetLocationsFromTaskLocations($caller->user(), $sessionTask);
 }
 public static function GetTaskListFromDb($caller, $sessionProjet = NULL)
 {
     $project = $sessionProjet === NULL ? \Applications\PMTool\Helpers\ProjectHelper::GetCurrentSessionProject($caller->user()) : $sessionProjet;
     //Load interface to query the database for tasks
     $task = new \Applications\PMTool\Models\Dao\Task();
     $task->setProject_id($project[\Library\Enums\SessionKeys::ProjectObject]->project_id());
     $manager = $caller->managers()->getManagerOf("Task");
     $sessionTasks = \Applications\PMTool\Helpers\TaskHelper::StoreSessionTask($caller->user(), $manager->selectMany($task, "project_id"));
     foreach ($sessionTasks as $sessionTask) {
         TaskHelper::FillSessionTask($caller, $sessionTask);
     }
     TaskHelper::SetCurrentSessionTask($caller->user(), NULL);
 }