1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <?php
- namespace App\Http\Controllers\Admin\Orders;
- use App\Shop\OrderStatuses\Repositories\Interfaces\OrderStatusRepositoryInterface;
- use App\Shop\OrderStatuses\Repositories\OrderStatusRepository;
- use App\Shop\OrderStatuses\Requests\CreateOrderStatusRequest;
- use App\Shop\OrderStatuses\Requests\UpdateOrderStatusRequest;
- use Illuminate\Database\QueryException;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- class OrderStatusController extends Controller
- {
- private $orderStatuses;
- public function __construct(OrderStatusRepositoryInterface $orderStatusRepository)
- {
- $this->orderStatuses = $orderStatusRepository;
- }
-
- public function index()
- {
- return view('admin.order-statuses.list', ['orderStatuses' => $this->orderStatuses->listOrderStatuses()]);
- }
-
- public function create()
- {
- return view('admin.order-statuses.create');
- }
-
- public function store(CreateOrderStatusRequest $request)
- {
- $this->orderStatuses->createOrderStatus($request->except('_token', '_method'));
- $request->session()->flash('message', 'Create successful');
- return redirect()->route('admin.order-statuses.index');
- }
-
- public function edit(int $id)
- {
- return view('admin.order-statuses.edit', ['orderStatus' => $this->orderStatuses->findOrderStatusById($id)]);
- }
-
- public function update(UpdateOrderStatusRequest $request, int $id)
- {
- $orderStatus = $this->orderStatuses->findOrderStatusById($id);
- $update = new OrderStatusRepository($orderStatus);
- $update->updateOrderStatus($request->all());
- $request->session()->flash('message', 'Update successful');
- return redirect()->route('admin.order-statuses.edit', $id);
- }
-
- public function destroy(int $id)
- {
- $this->orderStatuses->findOrderStatusById($id)->delete();
- request()->session()->flash('message', 'Delete successful');
- return redirect()->route('admin.order-statuses.index');
- }
- }
|