/**
  * GET PACKAGE ENTRY
  */
 static function GetPackageEntries($report)
 {
     $query = 'SELECT * ' . 'FROM package_entry ' . 'WHERE fk_expense_report = :id';
     $results = Database::QueryAll($query, ['id' => intval($report->getId())]);
     $entries = null;
     for ($i = 0; $i < count($results); $i++) {
         $entries[$i] = new PackageEntry(intval($results[$i]['id']), intval($results[$i]['quantity']), intval($results[$i]['fk_expense_report']), intval($results[$i]['fk_expense_package']));
     }
     $report->setPackageEntries($entries);
     return $report;
 }
 /**
  * GET EXPENSE PACKAGE
  */
 static function GetExpensePackage()
 {
     $query = 'SELECT label, amount ' . 'FROM expense_package ' . 'ORDER BY id DESC';
     $results = Database::QueryAll($query);
     return $results;
 }
 /**
  * LIST ALL
  */
 static function ListAll()
 {
     $query = '
               SELECT id,
                      service_number,
                      last_name,
                      first_name,
                      address,
                      zip_code,
                      city,
                      hiring_date
               FROM representative
               WHERE accountant=0
               ORDER BY last_name
              ';
     $results = Database::QueryAll($query);
     $representatives = [];
     for ($i = 0; $i < count($results); $i++) {
         $results[$i]['id'] = (int) $results[$i]['id'];
         $results[$i]['hiring_date'] = new DateTime($results[$i]['hiring_date']);
         $results[$i]['hiring_date'] = $results[$i]['hiring_date']->format('Y-m-d');
         $representatives[$i] = new Representative($results[$i]);
     }
     return $representatives;
 }
 /**
  * GET REPORT
  */
 static function GetReport($date, $representative_id)
 {
     $query = 'SELECT * ' . 'FROM expense_report ' . 'WHERE YEAR(report_date) = YEAR(:date) ' . 'AND MONTH(report_date) = MONTH(:date) ' . 'AND fk_representative = :id';
     $results = Database::QueryAll($query, ['date' => $date, 'id' => $representative_id]);
     $report = new ExpenseReport(intval($results[0]['id']), $results[0]['report_date'], $results[0]['update_date'], intval($results[0]['fk_representative']), null, null, intval($results[0]['fk_report_status']));
     return $report;
 }
 /**
  * GET NON PACKAGE ENTRY
  */
 static function GetNonPackageEntries($report)
 {
     $query = 'SELECT * ' . 'FROM non_package_entry ' . 'WHERE fk_expense_report = :id ' . 'ORDER by entry_date DESC';
     $results = Database::QueryAll($query, ['id' => $report->getId()]);
     $entries = [];
     for ($i = 0; $i < count($results); $i++) {
         $entries[$i] = new NonPackageEntry($results[$i]['id'], $results[$i]['label'], $results[$i]['entry_date'], $results[$i]['amount'], $results[$i]['fk_expense_status'], $results[$i]['fk_expense_report']);
     }
     $report->setNonPackageEntries($entries);
     return $report;
 }