insert('plugin_materiels_entry', $data); } public function edit($id, $data = []) { $db = DB::getInstance(); $db->update('plugin_materiels_entry', $data, $db->where('id', $id)); } public function get($id) { return DB::getInstance()->first('SELECT * FROM plugin_materiels_entry WHERE id = ?;', $id); } public function delete($id) { DB::getInstance()->delete('plugin_materiels_entry', 'id = ' . $id); } public function listAll() { return DB::getInstance()->get('SELECT * FROM plugin_materiels_entry ORDER BY entry_date DESC;'); } public function listAllByEquipment($eqmt_id) { return DB::getInstance()->get('SELECT * FROM plugin_materiels_entry WHERE equipment_id = ? ORDER BY entry_date DESC;', $eqmt_id); } public function PossibilityRentEqmtEntry($id, $eqmt_number, $date) { $after_entry_dates = DB::getInstance()->get( "SELECT entry_date FROM plugin_materiels_entry WHERE kind = 'Retour de location / prêt' AND equipment_id = '{$id}' AND entry_date > '{$date}';"); $entry_dates = array($date); foreach ($after_entry_dates as $row) { array_push($entry_dates, $row->entry_date); } $eqmt = new Equipment; foreach ($entry_dates as $entry_date) { $out_of_stock_eqmt = $eqmt->CalculateOutOfStockByDate($id, $entry_date); if ($out_of_stock_eqmt - $eqmt_number < 0) { return false; } } return true; } public function PossibilityDeleteEntry($entry) { $output = new Output; if ($entry->kind == 'Location / Prêt') { return $output->PossibilityNoOwnedEqmtOutput( $entry->equipment_id, $entry->equipment_number, $entry->entry_date); } else { return $output->PossibilityOwnedEqmtOutput( $entry->equipment_id, $entry->equipment_number, $entry->entry_date); } } }