<?php
namespace App\View\Components;
use Illuminate\View\Component;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Modules\Appointment\Entities\Schedule;
use Modules\Appointment\Entities\BillingDetailSchedule;
class ScheduleBookCheckoutPage extends Component
{
public $request;
public $slot_id;
public function __construct($request, $slot)
{
$this->request = $request;
$this->slot_id = $slot;
}
public function render()
{
$data = [];
$data['type'] = $this->request->type;
if (!empty($data['type'])) {
$data['current'] = BillingDetailSchedule::where('user_id', Auth::id())->latest()->first();
} else {
$data['current'] = '';
}
$data['schedule'] = Schedule::with('userInfo', 'slotInfo')
->where('id', $this->slot_id)->first();
$data['profile'] = Auth::user();
$data['instructor'] = $data['schedule']->userInfo;
$data['slotInfo'] = $data['schedule']->slotInfo;
$data['profile']->cityName = $data['profile']->cityName();
$data['bills'] = BillingDetailSchedule::with('country')->where('user_id', Auth::id())->latest()->get();
$data['countries'] = DB::table('countries')->select('id', 'name')->get();
$data['states'] = DB::table('states')->where('country_id', $data['profile']->country)
->where('id', $data['profile']->state)->select('id', 'name')->get();
$data['cities'] = DB::table('spn_cities')->where('state_id', $data['profile']->state)
->where('id', $data['profile']->city)->select('id', 'name')->get();
$countries = $data['countries'];
return view(theme('components.schedule-book-checkout-page', $data));
}
}