public function display()
 {
     $connection = new Connection();
     $statement = new Statement($connection);
     //get mechanic view
     $SQL = "SELECT * FROM MechanicView WHERE idMINIEmployee = :id";
     $statement->setInt('id', Session::get('id'));
     $mechanic = $statement->select($SQL)->first();
     // get vehicles with issues that have not yet been added to maintenance.
     $SQL = 'SELECT * FROM VehicleReportedIssues';
     $statement = new Statement($connection);
     $issues = $statement->select($SQL)->all();
     // get vehicles in under maintenance.
     $SQL = 'SELECT * FROM Maintenance m
         INNER JOIN VehicleView v ON m._idVehicle = v.idVehicle
         WHERE _ReturnedBy IS NULL';
     $statement = new Statement($connection);
     $maintenance = $statement->select($SQL)->all();
     // display completed maintenance.
     $SQL = 'SELECT * FROM Maintenance m
         INNER JOIN VehicleView v ON m._idVehicle = v.idVehicle
         WHERE _ReturnedBy IS NOT NULL
         ORDER BY DateReturned DESC';
     $statement = new Statement($connection);
     $completed = $statement->select($SQL)->all();
     $data = ['mechanic' => $mechanic, 'issues' => $issues, 'maintenance' => $maintenance, 'completed' => $completed];
     $html = $this->view->render('MechanicHome', $data);
     $this->response->setContent($html);
 }
 public function complete($params)
 {
     $log = $params['log'];
     $mechanic = Session::get('id');
     $SQL = 'UPDATE Maintenance
         SET _ReturnedBy = :mechanic, DateReturned = CURRENT_TIMESTAMP
         WHERE MaintenanceLogNumber = :log';
     $statement = new Statement(new Connection());
     $statement->setInt('log', $log);
     $statement->setInt('mechanic', $mechanic);
     $complete = $statement->update($SQL);
     if (!is_a($complete, "PDOException")) {
         header('Location:/mechanic');
     } else {
         $data = ['error' => $complete->errorInfo[2], 'return' => "/maintenance/log/{$log}"];
         $html = $this->view->render('Error', $data);
         $this->response->setContent($html);
     }
 }
 public function update($params)
 {
     $log = $params['log'];
     $item = $params['item'];
     $mechanic = Session::get('id');
     $description = $this->request->getParameter('description');
     $SQL = 'UPDATE MaintenanceItem
         SET ItemDescription = :description
         WHERE idMaintenanceItem = :item';
     $statement = new Statement(new Connection());
     // $statement->setInt('mechanic', $mechanic);
     $statement->setInt('item', $item);
     $statement->setInt('description', $description);
     $statement->update($SQL);
     header("Location: /maintenance/log/{$log}");
 }