Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (!function_exists('generateInvoice')) {
- function generateInvoice($order)
- {
- $invoice = new \App\Http\Controllers\Traits\InvoiceGenerator();
- $invoice->number($order->id);
- foreach ($order->items as $item) {
- $title = $item->item->title;
- $price = $item->item->price;
- $qty = 1;
- $id = 'prod-'.$item->item->id;
- $invoice->addItem($title, $price, $qty, $id);
- }
- // $invoice->number($order->id);
- $total = $order->items->sum('price');
- $coupon = \App\Models\Coupon::find($order->coupon_id);
- if($coupon != null){
- $discount = $order->items->sum('price') * $coupon->amount/100;
- $invoice->addDiscountData($discount);
- $total = $total - $discount;
- }
- $taxes = \App\Models\Tax::where('status','=',1)->get();
- $rateSum = \App\Models\Tax::where('status','=',1)->sum('rate');
- if($taxes != null){
- $taxData = [];
- foreach ($taxes as $tax){
- $taxData [] = ['name'=>$tax->name,'amount' => $total * $tax->rate/100];
- }
- $invoice->addTaxData($taxData);
- $total = $total + ($total * $rateSum/100);
- }
- $invoice->addTotal($total);
- $user = \App\Models\Auth\User::find($order->user_id);
- $invoice->customer([
- 'name' => $user->full_name,
- 'id' => $user->id,
- 'email' => $user->email
- ])
- ->save('public/invoices/invoice-'.$order->id.'.pdf');
- // ->download('invoice-'.$order->id.'.pdf');
- // ->show('invoice-'.$order->id.'.pdf');
- $invoiceEntry = \App\Models\Invoice::where('order_id','=',$order->id)->first();
- if($invoiceEntry == ""){
- $invoiceEntry = new \App\Models\Invoice();
- $invoiceEntry->user_id = $order->user_id;
- $invoiceEntry->order_id = $order->id;
- $invoiceEntry->url = 'invoice-'.$order->id.'.pdf';
- $invoiceEntry->save();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement