HEX
Server: Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/5.6.40
System: Linux ip-172-31-40-18 4.14.146-93.123.amzn1.x86_64 #1 SMP Tue Sep 24 00:45:23 UTC 2019 x86_64
User: apache (48)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //var/www/html/punjabcabs/Original_Backup/app/Http/Controllers/Resource/ServiceResource.php
<?php

namespace App\Http\Controllers\Resource;

use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

use Setting;
use Exception;
use App\Helpers\Helper;

use App\ServiceType;

class ServiceResource extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $services = ServiceType::all();
        if($request->ajax()) {
            return $services;
        } else {
            return view('admin.service.index', compact('services'));
        }
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('admin.service.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        
        $this->validate($request, [
            'name' => 'required|max:255',
            'image' => 'mimes:ico,png',
            'p_enable' => 'required',
            'd_stime' => 'required',
            'd_etime' => 'required',
            'n_stime' => 'required',
            'n_etime' => 'required',
            'p_stime' => 'required',
            'p_etime' => 'required',
            'd_flag' => 'required',
            'd_distance' => 'required',
            'd_booking' => 'required',
            'd_waiting' => 'required',
            'n_flag' => 'required',
            'n_distance' => 'required',
            'n_booking' => 'required',
            'n_waiting' => 'required',
            'p_flag' => 'required',
            'p_distance' => 'required',
            'p_booking' => 'required',
            'p_waiting' => 'required',
        ]);

        try {

            $service = $request->all();
            if($request->hasFile('image')) {
                $service['image'] = Helper::upload_picture($request->image);
            }
            $service = ServiceType::create($service);
            return back()->with('flash_success','Service Type Saved Successfully');

        } catch (Exception $e) {
            dd("Exception", $e);
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\ServiceType  $serviceType
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        try {
            return ServiceType::findOrFail($id);
        } catch (ModelNotFoundException $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }
    /**
     * Display the specified resource.
     *
     * @param  \App\ServiceType  $serviceType
     * @return \Illuminate\Http\Response
     */
    public function viewer($id)
    {
        try {
            $service = ServiceType::findOrFail($id);
            return view('admin.service.view',compact('service'));
        } catch (ModelNotFoundException $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\ServiceType  $serviceType
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        try {
            $service = ServiceType::findOrFail($id);
            return view('admin.service.edit',compact('service'));
        } catch (ModelNotFoundException $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\ServiceType  $serviceType
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'name' => 'required|max:255',
            'image' => 'mimes:ico,png',
            'p_enable' => 'required',
            'd_stime' => 'required',
            'd_etime' => 'required',
            'n_stime' => 'required',
            'n_etime' => 'required',
            'p_stime' => 'required',
            'p_etime' => 'required',
            'd_flag' => 'required',
            'd_distance' => 'required',
            'd_booking' => 'required',
            'd_waiting' => 'required',
            'n_flag' => 'required',
            'n_distance' => 'required',
            'n_booking' => 'required',
            'n_waiting' => 'required',
            'p_flag' => 'required',
            'p_distance' => 'required',
            'p_booking' => 'required',
            'p_waiting' => 'required',
        ]);

        try {

            $service = ServiceType::findOrFail($id);

            if($request->hasFile('image')) {
                if($service->image) {
                    Helper::delete_picture($service->image);
                }
                $service->image = Helper::upload_picture($request->image);
            }

            $service->name = $request->name;
            $service->p_enable = $request->p_enable;
            $service->d_stime = $request->d_stime;
            $service->d_etime = $request->d_etime;
            $service->n_stime = $request->n_stime;
            $service->n_etime = $request->n_etime;
            $service->p_stime = $request->p_stime;
            $service->p_etime = $request->p_etime;
            $service->d_flag = $request->d_flag;
            $service->d_distance = $request->d_distance;
            $service->d_booking = $request->d_booking;
            $service->d_waiting = $request->d_waiting;
            $service->n_flag = $request->n_flag;
            $service->n_distance = $request->n_distance;
            $service->n_booking = $request->n_booking;
            $service->n_waiting = $request->n_waiting;
            $service->p_flag = $request->p_flag;
            $service->p_distance = $request->p_distance;
            $service->p_booking = $request->p_booking;
            $service->p_waiting = $request->p_waiting;
            $service->save();

            return redirect()->route('admin.service.index')->with('flash_success', 'Service Type Updated Successfully');    
        } 

        catch (ModelNotFoundException $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\ServiceType  $serviceType
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        try {
            ServiceType::find($id)->delete();
            return back()->with('message', 'Service Type deleted successfully');
        } catch (ModelNotFoundException $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        } catch (Exception $e) {
            return back()->with('flash_error', 'Service Type Not Found');
        }
    }
}