/**
  * Create a new project.
  * @param $name
  * @param bool $withdefault
  * @param int $userid
  * @return Message
  */
 public function addProject($name, $withdefault = false, $userid = -1)
 {
     if (is_bool($this->getProject($name))) {
         $this->db->insert("project", ["name" => $name]);
         $projectid = $this->getProject($name);
         if (!is_bool($projectid) && is_numeric($projectid)) {
             $project = new Project($projectid);
             if ($withdefault) {
                 $project->addDefaultGroups();
             }
             if ($userid != -1) {
                 $group = $project->getGroup("Managers", true);
                 if (!is_bool($group)) {
                     $project->addUser($userid, $group);
                     return new Message("Created new Project with Default groups. And added the user to Managers.");
                 }
                 if (is_bool($group)) {
                     $project->addGroup("Managers", 1);
                     $project->addUser($userid, "Managers");
                     return new Message("Created new Project with Managers group and added user to it.");
                 }
             }
             return new Message("Created new empty Project");
         } else {
             return new Error(0105, "Error while retrieving project.");
         }
     } else {
         return new Error(0106, "Project already exists.");
     }
 }