/**
  * Method that get a project and returns the result of operation
  * 
  * @param \Library\HttpRequest $rq
  * @return JSON
  */
 public function executeSetCurrentProject(\Library\HttpRequest $rq)
 {
     $result = $this->InitResponseWS();
     // Init result
     $manager = $this->managers()->getManagerOf('Project');
     $projectEdit = new \Applications\PMTool\Models\Dao\Project();
     $pm = $this->user->getAttribute(\Library\Enums\SessionKeys::CurrentPm);
     $pm = $pm[\Library\Enums\SessionKeys::PmObject];
     $pm_id = $pm->pm_id();
     $projectEdit->setPm_id($pm_id);
     $projectEdit->setProject_is_default(0);
     if (!$manager->edit($projectEdit, 'pm_id')) {
         throw new \Exception(__CLASS__ . "->" . __METHOD__ . " => Project Edit failed for PM ID=" . $pm_id);
     }
     $project_id = $this->dataPost["project_id"];
     $projectEdit->setProject_id($project_id);
     $projectEdit->setProject_is_default(1);
     if (!$manager->edit($projectEdit, 'project_id')) {
         throw new \Exception(__CLASS__ . "->" . __METHOD__ . " => Project Edit failed for Project ID=" . $project_id);
     } else {
         \Applications\PMTool\Helpers\ProjectHelper::RefreshProjectObjectsForCurrentPm($this);
     }
     $project = \Applications\PMTool\Helpers\ProjectHelper::GetAndStoreCurrentProject($this->user(), $project_id);
     $result["dataId"] = $project->project_id();
     \Applications\PMTool\Helpers\TaskHelper::UnsetCurrentSessionTask($this->user());
     $this->SendResponseWS($result, array("resx_file" => \Applications\PMTool\Resources\Enums\ResxFileNameKeys::Project, "resx_key" => $this->action(), "step" => $project != NULL ? "success" : "error"));
 }