msPegawai = $msPegawai; } public function index(Request $request) { if ($request->ajax()) { return DataTables()->of($this->msPegawai->getAll()) ->addIndexColumn() ->addColumn('id_pegawai', function ($data) { return $data->id_pegawai; }) ->addColumn('nama_pegawai', function ($data) { return $data->nama_pegawai; }) ->addColumn('tanggal_lahir', function ($data) { return $data->tanggal_lahir; }) ->addColumn('jenis_kelamin', function ($data) { return $data->jenis_kelamin; }) ->addColumn('posisi', function ($data) { return $data->posisi == 'doctor' ? 'Dokter' : ($data->posisi == 'nurse' ? 'Perawat' : ($data->posisi == 'admin' ? 'Admin' : 'Lainnya')); }) ->addColumn('action', function ($data) { return view('admin.ms_pegawai.column.action', compact('data')); }) ->make(true); } return view('admin.ms_pegawai.index'); } public function create() { return view('admin.ms_pegawai.create'); } public function store(Request $request) { $request->validate([ 'nama_pegawai' => 'required|string|max:100', 'tanggal_lahir' => 'required|date', 'jenis_kelamin' => 'required|string|max:10', 'posisi' => 'required|string|max:50', ]); $this->msPegawai->store($request->all()); return redirect()->route('admin.ms_pegawai.index')->with('success', 'Data pegawai berhasil ditambahkan.'); } public function edit($id) { $pegawai = $this->msPegawai->getById($id); return view('admin.ms_pegawai.edit', compact('pegawai')); } public function update(Request $request, $id) { $request->validate([ 'nama_pegawai' => 'required|string|max:100', 'tanggal_lahir' => 'required|date', 'jenis_kelamin' => 'required|string|max:10', 'posisi' => 'required|string|max:50', ]); $this->msPegawai->update($id, $request->all()); return redirect()->route('admin.ms_pegawai.index')->with('success', 'Data pegawai berhasil diperbarui.'); } public function destroy($id) { $this->msPegawai->delete($id); return response()->json(['success' => 'Data pegawai berhasil dihapus.']); } }