| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- <?php
 
- namespace App\Http\Controllers\Admin\Countries;
 
- use App\Shop\Countries\Repositories\CountryRepository;
 
- use App\Shop\Countries\Repositories\Interfaces\CountryRepositoryInterface;
 
- use App\Shop\Countries\Requests\UpdateCountryRequest;
 
- use App\Http\Controllers\Controller;
 
- class CountryController extends Controller
 
- {
 
-     private $countryRepo;
 
-     public function __construct(CountryRepositoryInterface $countryRepository)
 
-     {
 
-         $this->countryRepo = $countryRepository;
 
-     }
 
-     /**
 
-      * Display a listing of the resource.
 
-      *
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function index()
 
-     {
 
-         $list = $this->countryRepo->listCountries('created_at', 'desc');
 
-         return view('admin.countries.list', [
 
-             'countries' => $this->countryRepo->paginateArrayResults($list->all(), 10)
 
-         ]);
 
-     }
 
-     /**
 
-      * Display the specified resource.
 
-      *
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function show(int $id)
 
-     {
 
-         $country = $this->countryRepo->findCountryById($id);
 
-         $countryRepo = new CountryRepository($country);
 
-         $provinces = $countryRepo->findProvinces();
 
-         return view('admin.countries.show', [
 
-             'country' => $country,
 
-             'provinces' => $this->countryRepo->paginateArrayResults($provinces->toArray())
 
-         ]);
 
-     }
 
-     /**
 
-      * Show the form for editing the specified resource.
 
-      *
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function edit($id)
 
-     {
 
-         return view('admin.countries.edit', ['country' => $this->countryRepo->findCountryById($id)]);
 
-     }
 
-     /**
 
-      * Update the specified resource in storage.
 
-      *
 
-      * @param  UpdateCountryRequest $request
 
-      * @param  int  $id
 
-      * @return \Illuminate\Http\Response
 
-      */
 
-     public function update(UpdateCountryRequest $request, $id)
 
-     {
 
-         $country = $this->countryRepo->findCountryById($id);
 
-         $update = new CountryRepository($country);
 
-         $update->updateCountry($request->except('_method', '_token'));
 
-         $request->session()->flash('message', 'Update successful');
 
-         return redirect()->route('admin.countries.edit', $id);
 
-     }
 
- }
 
 
  |