JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "CityController.php"

Full Path: /var/www/laravel_filter/app/Http/Controllers/Admin/CityController.php
File size: 3.23 KB
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Http\Controllers\Admin;

use App\Models\City;
use App\Models\Order;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class CityController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth:admin');
    }

    public function index()
    {
        $cities = City::orderBy('id', 'desc')->get();

        return view('admin.city.index', compact('cities'));
    }


    public function create()
    {
        return view('admin.city.create');
    }

    public function store(Request $request)
    {
        $rules = [
            'name'=>'required|unique:cities'
        ];

        $customMessages = [
            'name.required' => trans('admin_validation.City is required'),
            'name.unique' => trans('admin_validation.City already exist'),
        ];
        $this->validate($request, $rules,$customMessages);

        $city=new City();
        $city->name=$request->name;
        $city->save();

        $notification=trans('admin_validation.Created Successfully');
        $notification=array('messege'=>$notification,'alert-type'=>'success');
        return redirect()->back()->with($notification);
    }


    public function edit($id)
    {
        $city = City::find($id);

        return view('admin.city.edit', compact('city'));
    }


    public function update(Request $request, $id)
    {
        $city = City::find($id);
        $rules = [
            'name'=>'required|unique:cities,name,'.$city->id
        ];
        $customMessages = [
            'name.required' => trans('admin_validation.City is required'),
            'name.unique' => trans('admin_validation.City already exist'),
        ];
        $this->validate($request, $rules,$customMessages);

        $city->name=$request->name;
        $city->save();

        $notification=trans('admin_validation.Update Successfully');
        $notification=array('messege'=>$notification,'alert-type'=>'success');
        return redirect()->route('admin.city.index')->with($notification);
    }


    public function destroy($id)
    {
        $order_count = Order::where('city_id', $id)->count();

        if($order_count > 0){
            $notification=trans('admin_validation.In this item multiple order exist, so you can not delete this item');
            $notification=array('messege'=>$notification,'alert-type'=>'error');
            return redirect()->route('admin.city.index')->with($notification);
        }

        $city = City::find($id);
        $city->delete();

        $notification=trans('admin_validation.Delete Successfully');
        $notification=array('messege'=>$notification,'alert-type'=>'success');
        return redirect()->route('admin.city.index')->with($notification);
    }

    public function city_import(){
        return view('admin.city_import');
    }

    public function city_export(){
        return Excel::download(new CityExport, 'cities.xlsx');
    }

    public function store_import_city(Request $request){
        Excel::import(new CityImport, $request->file('file'));

        $notification=trans('admin_validation.Uploaded Successfully');
        $notification=array('messege'=>$notification,'alert-type'=>'success');
        return redirect()->route('admin.city.index')->with($notification);
    }
}