<?php

namespace App\Http\Controllers\Api\v1\Service;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Api\BaseController as BaseController;
use Illuminate\Support\Facades\Auth;
use App\Models\User;
use App\Models\UserInfo;
use App\Models\Services;
use Validator;
use Exception;

class ScrvicesController extends Controller
{
    protected $baseController;

    public function __construct(BaseController $baseController)
    {

        $this->baseController = $baseController;
        if(Auth::guard('api')->check()){
            $this->user_id=auth('api')->user()->id;
            $this->name=auth('api')->user()->name;
            $this->email=auth('api')->user()->email;
        }
    }

    public function addOrEditServices(Request $request){
        $inputs = $request->all();
        $messageArr['input'] = $inputs;
        $status_code = 0;
        $success = []; 
        $successMsg=false;
        try{

           //    $validator  =  Validator::make($inputs,[
           //  'contact_no' => 'required|string|min:3|max:15',     
           // ],$customMessages);
        
           //   if($validator->passes()){


            if(Services::where('user_id',$this->user_id)->exists()){

                 if($request->service_name=='fire_brigade'){
                    if(!empty($request->contact_no)){

                        $successMsg=true;
                        $status_code = 1; 
                        Services::where('user_id',$this->user_id)->update([
                            'fire_brigade' =>$request->contact_no
                        ]);

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Fire brigade number updated', 200, $messageArr);
                    }else{

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Fire brigade number', 200, $messageArr);
                    }
                }


                if($request->service_name=='police_station'){
                    if(!empty($request->contact_no)){
                        $successMsg=true;
                        $status_code = 1;

                        Services::where('user_id',$this->user_id)->update([
                            'police_station' =>$request->contact_no
                        ]);
                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Police station number updated', 200, $messageArr);
                    }else{

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Police station number', 200, $messageArr); 
                    }
                }


                if($request->service_name=='ambulance'){
                    if(!empty($request->contact_no)){
                        $successMsg=true;
                        $status_code = 1;
                        Services::where('user_id',$this->user_id)->update([
                            'ambulance' =>$request->contact_no
                        ]);
                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Ambulance number updated', 200, $messageArr);
                    }else{

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Ambulance number', 200, $messageArr); 
                    }

                }


                if($request->service_name=='sos_no1'){
                    if(!empty($request->contact_no)){
                        $successMsg=true;
                        $status_code = 1;
                        Services::where('user_id',$this->user_id)->update([
                            'sos_no1' =>$request->contact_no
                        ]);

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'First sos number updated', 200, $messageArr);
                    }else{

                        return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter First sos number', 200, $messageArr); 
                    }


                }



                if($request->service_name=='sos_no2'){

                    if(!empty($request->contact_no)){
                        $successMsg=true;
                    
                    $status_code = 1;
                    Services::where('user_id',$this->user_id)->update([
                        'sos_no2' =>$request->contact_no
                    ]);
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Second sos number updated', 200, $messageArr); 
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Second sos number', 200, $messageArr);

                }

            }


            if($request->service_name=='sos_no3'){
                if(!empty($request->contact_no)){

                    $successMsg=true;
                    $status_code = 1;
                    Services::where('user_id',$this->user_id)->update([
                        'sos_no3' =>$request->contact_no
                    ]);
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Third sos number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Third sos number', 200, $messageArr); 
                }

            }

            if($request->service_name=='sos_no4'){
                if(!empty($request->contact_no)){  
                    $successMsg=true;
                    $status_code = 1;
                    Services::where('user_id',$this->user_id)->update([
                        'sos_no4' =>$request->contact_no
                    ]);
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Fourth sos number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Fourth sos number', 200, $messageArr);  
                }

            }



        }else{



            if($request->service_name=='fire_brigade'){

                if(!empty($request->contact_no)){
                    $successMsg=true;
                    $status_code = 1;               
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->fire_brigade=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Fire brigade number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Fire brigade number', 200, $messageArr); 
                }
            }


            if($request->service_name=='ambulance'){

                if(!empty($request->contact_no)){
                    $successMsg=true;
                    $status_code = 1; 
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->police_station=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Ambulance number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Ambulance number', 200, $messageArr); 
                }
            }


            if($request->service_name=='police_station'){

                if(!empty($request->contact_no)){
                    $successMsg=true;
                    $status_code = 1;
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->ambulance=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Police station number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Police station number', 200, $messageArr); 
                }
            }


            if($request->service_name=='sos_no1'){

                if(!empty($request->contact_no)){
                    $successMsg=true;
                    $status_code = 1;
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->sos_no1=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'First SOS number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter First SOS number', 200, $messageArr); 
                }
            }

            if($request->service_name=='sos_no2'){

                if(!empty($request->contact_no)){
                    $successMsg=true;
                    $status_code = 1;
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->sos_no2=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Second SOS number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Second SOS number', 200, $messageArr); 
                }
            }

            if($request->service_name=='sos_no3'){

                if(!empty($request->contact_no)){

                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->sos_no3=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Third SOS number updated', 200, $messageArr);

                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Third SOS number', 200, $messageArr); 
                }
            }

            if($request->service_name=='sos_no4'){

                if(!empty($request->contact_no)){
                    $Services= new Services;
                    $Services->user_id=$this->user_id;
                    $Services->sos_no4=$request->contact_no;
                    $Services->save();
                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Fourth SOS number updated', 200, $messageArr);
                }else{

                    return $this->baseController->sendResponse($status_code, $successMsg,$success,'Please enter Fourth SOS number', 200, $messageArr); 
                }
            }

        }
      // }else{

      //        //validation error
      //       return $this->baseController->sendResponse($status_code, $successMsg,$success,$validator->messages()->first(), 200, $messageArr);
      //    }  

    }catch (Exception $e){         
        return $this->baseController->sendResponse(0,false,[],$e->getMessage(), 200, $messageArr??[]);
    }  
}
}
