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');
}
}
}