public function evolve($id)
 {
     if ($this->isLogged()) {
         RouteService::redirect('users', 'buildings', true);
     }
     if (isset($id)) {
         try {
             $buildingModel = new Building();
             if ($buildingModel->evolve($id)) {
                 RouteService::redirect('users', 'buildings', true);
             } else {
                 RouteService::redirect('users', 'buildings', true);
             }
         } catch (\Exception $e) {
             //return $e->getMessage();
             RouteService::redirect('users', 'buildings', true);
         }
     } else {
         RouteService::redirect('users', 'buildings', true);
     }
 }
 public function buildings()
 {
     if (!$this->isLogged()) {
         header('Location: ../login');
         exit;
     }
     $buildingModel = new Building($this->databaseInstance);
     $viewModel = new UserBuildingsInformation();
     if (isset($_GET['id']) && is_numeric($_GET['id'])) {
         try {
             $buildingModel->evolve($_GET['id']);
         } catch (\Exception $exception) {
             $viewModel->error = $exception->getMessage();
         }
         header('Location: buildings');
         exit;
     }
     $userModel = new User($this->databaseInstance);
     $buildingData = $buildingModel->all($_SESSION['id']);
     $userData = $userModel->getInfo($_SESSION['id']);
     $viewModel->setBuildingsInfo($buildingData);
     $viewModel->setUserInfo($userData['username'], $userData['id'], $userData['gold'], $userData['food']);
     return new View('Users/buildings', $viewModel);
 }
 private static function insert(Building $model)
 {
     $db = Database::getInstance('app');
     $query = "INSERT INTO users (name) VALUES (:name);";
     $result = $db->prepare($query);
     $result->execute([':name' => $model->getName()]);
     $model->setId($db->lastId());
 }