<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\department;
use App\Models\SubOffice;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;

class DepartmentController extends Controller
{
    protected $view='admin.department.';
    protected $redirect='admin/departments';

    public function index(){
        $settings = department::Paginate(config('custom.per_page'));
        return view($this->view.'index',compact('settings'));
    }

    public function create(){
        $settings=SubOffice::all();
        return view($this->view.'create',compact('settings'));
    }

    public function store(Request $request){
        $this->validate(\request(),[
            'name'=>'required|string',
            'sub_office_id'=>'required',
        ]);
        $requestData=$request->all();
        $setting=department::create($requestData);
        Session::flash('success','Department is created');
        return redirect($this->redirect);
    }

    public function edit($id){
        $settings=department::findorfail($id);
        $sub_offices=SubOffice::all();
        return view($this->view.'edit',compact('settings'),compact('sub_offices'));
    }

    public function update(Request $request ,$id){
        $setting =department::findorfail($id);

        $this->validate(\request(),[
            'name'=>'required|string',
            'sub_office_id'=>'required',
        ]);
        $requestData=$request->all();
        $setting->fill($requestData);
        $setting->save();
        Session::flash('success','Department is Updated');
        return redirect($this->redirect);


    }

    public function delete(){

    }
}