| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 | 
							- <?php
 
- namespace App\Http\Controllers\Admin\Couriers;
 
- use App\Shop\Couriers\Repositories\CourierRepository;
 
- use App\Shop\Couriers\Repositories\Interfaces\CourierRepositoryInterface;
 
- use App\Shop\Couriers\Requests\CreateCourierRequest;
 
- use App\Shop\Couriers\Requests\UpdateCourierRequest;
 
- use App\Http\Controllers\Controller;
 
- class CourierController extends Controller
 
- {
 
-     /**
 
-      * @var CourierRepositoryInterface
 
-      */
 
-     private $courierRepo;
 
-     /**
 
-      * CourierController constructor.
 
-      * @param CourierRepositoryInterface $courierRepository
 
-      */
 
-     public function __construct(CourierRepositoryInterface $courierRepository)
 
-     {
 
-         $this->courierRepo = $courierRepository;
 
-     }
 
-     /**
 
-      * Display a listing of the resource.
 
-      *
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function index()
 
-     {
 
-         return view('admin.couriers.list', ['couriers' => $this->courierRepo->listCouriers('name', 'asc')]);
 
-     }
 
-     /**
 
-      * Show the form for creating a new resource.
 
-      *
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function create()
 
-     {
 
-         return view('admin.couriers.create');
 
-     }
 
-     /**
 
-      * Store a newly created resource in storage.
 
-      *
 
-      * @param  CreateCourierRequest $request
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function store(CreateCourierRequest $request)
 
-     {
 
-         $this->courierRepo->createCourier($request->all());
 
-         $request->session()->flash('message', 'Create successful');
 
-         return redirect()->route('admin.couriers.index');
 
-     }
 
-     /**
 
-      * Show the form for editing the specified resource.
 
-      *
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function edit(int $id)
 
-     {
 
-         return view('admin.couriers.edit', ['courier' => $this->courierRepo->findCourierById($id)]);
 
-     }
 
-     /**
 
-      * Update the specified resource in storage.
 
-      *
 
-      * @param  UpdateCourierRequest  $request
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function update(UpdateCourierRequest $request, $id)
 
-     {
 
-         $courier = $this->courierRepo->findCourierById($id);
 
-         $update = new CourierRepository($courier);
 
-         $update->updateCourier($request->all());
 
-         $request->session()->flash('message', 'Update successful');
 
-         return redirect()->route('admin.couriers.edit', $id);
 
-     }
 
-     /**
 
-      * Remove the specified resource from storage.
 
-      *
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function destroy(int $id)
 
-     {
 
-         $courier = $this->courierRepo->findCourierById($id);
 
-         $courierRepo = new CourierRepository($courier);
 
-         $courierRepo->delete();
 
-         request()->session()->flash('message', 'Delete successful');
 
-         return redirect()->route('admin.couriers.index');
 
-     }
 
- }
 
 
  |