![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ledger.corals.io/Corals/modules/Ledger/Services/ |
<?php namespace Corals\Modules\Ledger\Services; use Corals\Foundation\Services\BaseServiceClass; class RecordService extends BaseServiceClass { public function preStore($request, &$additionalData) { $submitBtnValue = $request->get('submit-btn'); if ($submitBtnValue) { $additionalData['status'] = $submitBtnValue; } elseif (!$request->has('status')) { $additionalData['status'] = 'pending'; } } public function preUpdate($request, &$additionalData) { $submitBtnValue = $request->get('submit-btn'); if ($submitBtnValue) { $additionalData['status'] = $submitBtnValue; } } public function preStoreUpdate($request, &$additionalData) { $items = collect($request->get('items', [])); if ($items->isNotEmpty()) { $amount = $items->sum('amount'); $additionalData['amount'] = $amount; } } public function postStoreUpdate($request, &$additionalData) { $items = $request->get('items', []) ?? []; $this->model->items()->forceDelete(); $itemsToInsert = []; foreach ($items as $id => $item) { $itemsToInsert[] = [ 'item_id' => $id, 'price' => $item['price'], 'quantity' => $item['quantity'], 'amount' => $item['amount'], 'notes' => $item['notes'] ]; } if ($itemsToInsert) { $this->model->items()->createMany($itemsToInsert); } } }