| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 
							- <?php
 - 
 - namespace App\Observers;
 - 
 - use App\Models\Accounting\DocumentLineItem;
 - 
 - class DocumentLineItemObserver
 - {
 -     /**
 -      * Handle the DocumentLineItem "created" event.
 -      */
 -     public function created(DocumentLineItem $documentLineItem): void
 -     {
 -         //
 -     }
 - 
 -     /**
 -      * Handle the DocumentLineItem "updated" event.
 -      */
 -     public function updated(DocumentLineItem $documentLineItem): void
 -     {
 -         //
 -     }
 - 
 -     public function saving(DocumentLineItem $lineItem): void
 -     {
 -         // Calculate the base total (quantity * unit price)
 -         $lineItem->total = $lineItem->quantity * $lineItem->unit_price;
 - 
 -         // Calculate tax total (if applicable)
 -         $lineItem->tax_total = $lineItem->taxes->sum(fn ($tax) => $lineItem->total * ($tax->rate / 100));
 - 
 -         // Calculate discount total (if applicable)
 -         $lineItem->discount_total = $lineItem->discounts->sum(fn ($discount) => $lineItem->total * ($discount->rate / 100));
 -     }
 - 
 -     /**
 -      * Handle the DocumentLineItem "deleted" event.
 -      */
 -     public function deleted(DocumentLineItem $documentLineItem): void
 -     {
 -         //
 -     }
 - 
 -     /**
 -      * Handle the DocumentLineItem "restored" event.
 -      */
 -     public function restored(DocumentLineItem $documentLineItem): void
 -     {
 -         //
 -     }
 - 
 -     /**
 -      * Handle the DocumentLineItem "force deleted" event.
 -      */
 -     public function forceDeleted(DocumentLineItem $documentLineItem): void
 -     {
 -         //
 -     }
 - }
 
 
  |