<?php

namespace App\Http\Controllers;

use App\Http\Requests\ProfileUpdateRequest;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;
use Illuminate\View\View;

use Illuminate\Support\Facades\Log;
use App\Models\WashDetail;
use App\Models\OptionalExtra;
use App\Models\CleanerWash;
use App\Models\WashTypeToWash;
use App\Models\WashCategory;
use Illuminate\Support\Facades\Http;

class WashPrintController extends Controller
{

    public function washDetails(Request $request)
    {
        $wash_id = $request->input('wash_id');
        // echo $wash_id;exit;
        // $dataBag['cwo'] = CarWashOwner::where('account_no', $account_no)->first();
        /*$data = WashDetail::select('wash_details.id', 'wash_details.car_id', 'wash_details.date_washed', 'wash_details.time_washed', 'wash_details.status', 'wash_details.payment_status', 'co_master.co_fname', 'co_master.co_lname', 'co_master.co_phone', 'co_car.car_registration_no', 'wash_categories.wash_name', 'wash_details.otp', 'wash_details.payment_details', 'wash_details.amount', 'wash_details.total_amount', 'co_master.isd_code', 'wash_details.driver_name', 'wash_details.driver_isd_code', 'wash_details.driver_phone', 'cwo_master.cwo_logo')
        ->join('co_car', 'co_car.id', '=', 'wash_details.car_id')
        ->join('co_master', 'co_master.id', '=', 'co_car.co_id')
        ->join('users', 'users.id', '=', 'co_master.user_id')
        ->join('wash_categories', 'wash_categories.id', '=', 'wash_details.wash_type_id')
        ->join('cwo_master', 'cwo_master.id', '=', 'wash_categories.cwo_id')
        ->leftJoin('currency_masters', 'currency_masters.id', '=', 'cwo_master.currency_id')
        ->where('wash_details.id', $wash_id);*/
        $data = WashDetail::select('wash_details.id', 'wash_details.car_id', 'wash_details.date_washed', 'wash_details.time_washed', 'wash_details.status', 'wash_details.payment_status', 'co_master.co_fname', 'co_master.co_lname', 'co_master.co_phone', 'co_car.car_registration_no', 'wash_details.otp', 'wash_details.payment_details', 'wash_details.amount', 'wash_details.total_amount', 'co_master.isd_code', 'wash_details.driver_name', 'wash_details.driver_isd_code', 'wash_details.driver_phone', 'cwo_master.cwo_logo', 'wash_details.wash_type_id')
        ->join('co_car', 'co_car.id', '=', 'wash_details.car_id')
        ->join('co_master', 'co_master.id', '=', 'co_car.co_id')
        ->join('users', 'users.id', '=', 'co_master.user_id')
        ->join('cwo_master', 'cwo_master.id', '=', 'wash_details.cwo_id')
        ->leftJoin('currency_masters', 'currency_masters.id', '=', 'cwo_master.currency_id')
        ->where('wash_details.id', $wash_id);
        $data = $data->get();
        // echo "<pre>";print_r($data->toArray());exit;
        $dataBag['id'] = $data[0]->id;
        $dataBag['car_id'] = $data[0]->car_id;
        if($data[0]->driver_name != ''){
            $dataBag['co_fname'] = $data[0]->driver_name;
            $dataBag['co_lname'] = '';
        } else {
            $dataBag['co_fname'] = $data[0]->co_fname;
            $dataBag['co_lname'] = $data[0]->co_lname;
        }
        if($data[0]->driver_phone != ''){
            $dataBag['isd_code'] = '+' . $data[0]->driver_isd_code;
            $dataBag['co_phone'] = $data[0]->driver_phone;
        } else {
            $dataBag['isd_code'] = '+' . $data[0]->isd_code;
            $dataBag['co_phone'] = $data[0]->co_phone;
        }
        $dataBag['car_registration_no'] = $data[0]->car_registration_no;
        // $dataBag['wash_name'] = $data[0]->wash_name;
        if($data[0]->date_washed != '') {
            $dataBag['date_washed']  = date("d/m/Y", strtotime($data[0]->date_washed));
        } else {
            $dataBag['date_washed']  = '';
        }
        if($data[0]->time_washed != '') {
            $dataBag['time_washed']  = date("h:i a", strtotime($data[0]->time_washed));
        } else {
            $dataBag['time_washed']  = '';
        }
        $dataBag['payment_status_id'] = $data[0]->payment_status;
        if($data[0]->payment_status == 1) {
            $dataBag['payment_status'] = 'Paid';
        } else {
            $dataBag['payment_status'] = 'Not Paid';
        }
        $dataBag['status_id'] = $data[0]->status;
        if($data[0]->status == 0) {
            $dataBag['status'] = 'Car in-queue';
        }
        if($data[0]->status == 1) {
            $dataBag['status'] = 'In Wash Bay';
        }
        if($data[0]->status == 2) {
            $dataBag['status'] = 'Finishing Bay';
        }
        if($data[0]->status == 3) {
            $dataBag['status'] = 'Car Wash Completed';
        }
        if($data[0]->status == 4) {
            $dataBag['status'] = 'Cancelled';
        }
        $dataBag['otp'] = $data[0]->otp;
        $dataBag['payment_mode'] = $data[0]->payment_details;
        $dataBag['wash_amount'] = $data[0]->amount;
        $dataBag['total_amount'] = $data[0]->total_amount;
        $optionalExtra = OptionalExtra::where('wash_id', $data[0]->id)->select('optional_extra', 'price')->orderBy('id', 'asc')->get();
        $dataBag['extras'] = $optionalExtra;
        $cleaners = CleanerWash::select('cleaner_masters.name', 'cleaner_washes.description as cleaning_description')
                            ->join('cleaner_masters', 'cleaner_masters.id', '=', 'cleaner_washes.cleaner_id')
                            ->where('cleaner_washes.wash_id', $data[0]->id)
                            ->orderBy('cleaner_washes.id', 'asc')
                            ->get();
        $dataBag['cleaners'] = $cleaners;

        if($data[0]->cwo_logo != ''){
            $dataBag['cwo_logo'] = asset('images/cwo') . '/' . $data[0]->cwo_logo;
        } else {
            $dataBag['cwo_logo'] = '';
        }

        $wash_types = WashTypeToWash::select('wash_categories.wash_name', 'wash_type_to_washes.price')
                            ->join('wash_categories', 'wash_categories.id', '=', 'wash_type_to_washes.wash_type_id')
                            ->where('wash_type_to_washes.wash_id', $data[0]->id)
                            ->orderBy('wash_type_to_washes.id', 'asc')
                            ->get();
        $dataBag['wash_types'] = $wash_types;

        if($data[0]->wash_type_id > 0){
            $getWashType = WashCategory::where('id', $data[0]->wash_type_id)->select('wash_name')->first();
            if($getWashType != ''){
                $dataBag['wash_name'] = $getWashType->wash_name;    
            } else {
                $dataBag['wash_name'] = '';
            }
        } else {
            $dataBag['wash_name'] = '';
        }

        // echo "<pre>";print_r($dataBag);exit;
        return view('washdetail.printwash', $dataBag);
    }

    public function renew(Request $request)
    {
        $account_no = $request->input('account_no');
        // echo $account_no;exit;
        $dataBag['cwo'] = CarWashOwner::where('account_no', $account_no)->first();
        return view('fastpay.cworenew', $dataBag);
    }
    



}
