Advertisement
Guest User

Untitled

a guest
Dec 16th, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.12 KB | None | 0 0
  1.  
  2. if (!function_exists('generateInvoice')) {
  3.  
  4.     function generateInvoice($order)
  5.     {
  6.         $invoice = new \App\Http\Controllers\Traits\InvoiceGenerator();
  7.         $invoice->number($order->id);
  8.  
  9.        
  10.         foreach ($order->items as $item) {
  11.             $title = $item->item->title;
  12.             $price = $item->item->price;
  13.             $qty = 1;
  14.             $id = 'prod-'.$item->item->id;
  15.             $invoice->addItem($title, $price, $qty, $id);
  16.         }
  17. //        $invoice->number($order->id);
  18.         $total = $order->items->sum('price');
  19.         $coupon = \App\Models\Coupon::find($order->coupon_id);
  20.         if($coupon != null){
  21.             $discount =  $order->items->sum('price') * $coupon->amount/100;
  22.             $invoice->addDiscountData($discount);
  23.             $total = $total - $discount;
  24.         }
  25.         $taxes = \App\Models\Tax::where('status','=',1)->get();
  26.         $rateSum = \App\Models\Tax::where('status','=',1)->sum('rate');
  27.         if($taxes != null){
  28.             $taxData = [];
  29.             foreach ($taxes as $tax){
  30.  
  31.                 $taxData [] = ['name'=>$tax->name,'amount' => $total * $tax->rate/100];
  32.             }
  33.             $invoice->addTaxData($taxData);
  34.             $total =  $total + ($total * $rateSum/100);
  35.         }
  36.         $invoice->addTotal($total);
  37.         $user = \App\Models\Auth\User::find($order->user_id);
  38.  
  39.         $invoice->customer([
  40.                 'name' => $user->full_name,
  41.                 'id' => $user->id,
  42.                 'email' => $user->email
  43.             ])
  44.             ->save('public/invoices/invoice-'.$order->id.'.pdf');
  45.        
  46. //                ->download('invoice-'.$order->id.'.pdf');
  47. //                ->show('invoice-'.$order->id.'.pdf');
  48.  
  49.         $invoiceEntry = \App\Models\Invoice::where('order_id','=',$order->id)->first();
  50.         if($invoiceEntry == ""){
  51.             $invoiceEntry = new \App\Models\Invoice();
  52.             $invoiceEntry->user_id = $order->user_id;
  53.             $invoiceEntry->order_id = $order->id;
  54.             $invoiceEntry->url = 'invoice-'.$order->id.'.pdf';
  55.             $invoiceEntry->save();
  56.         }
  57.  
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement