Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/ledger.corals.io/Corals/modules/Ledger/Services/RecordService.php
<?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);
        }
    }
}

Spamworldpro Mini