trTransaksi = $trTransaksi; $this->msTindakan = $msTindakan; $this->msPegawai = $msPegawai; } public function index(Request $request) { if ($request->ajax()) { return DataTables()->of($this->trTransaksi->getAll()) ->addIndexColumn() ->addColumn('nama_tindakan', function ($data) { return $this->msTindakan->getById($data->id_tindakan)->nama_tindakan; }) ->addColumn('jumlah_tindakan', function ($data) { return $data->jumlah_tindakan; }) ->addColumn('nama_pegawai', function ($data) { return $this->msPegawai->getById($data->id_pegawai)->nama_pegawai; }) ->addColumn('total_tarif', function ($data) { return $data->jumlah_tindakan * $this->msTindakan->getById($data->id_tindakan)->tarif; }) ->addColumn('action', function ($data) { return view('admin.tr_transaksi.column.action', compact('data')); }) ->make(true); } return view('admin.tr_transaksi.index'); } public function create() { return view('admin.tr_transaksi.create', [ 'registrasi' => $this->trTransaksi->getAll(), 'tindakan' => $this->msTindakan->getAll(), 'pegawai' => $this->msPegawai->getAll(), ]); } public function store(Request $request) { $request->validate([ 'id_registrasi' => 'required', 'id_tindakan' => 'required', 'jumlah_tindakan' => 'required|integer|min:1', 'id_pegawai' => 'required', ]); $this->trTransaksi->store($request->all()); return redirect()->route('admin.tr_transaksi.index')->with('success', 'Data Ruang Pelayanan berhasil ditambahkan.'); } public function edit($id) { $transaksi = $this->trTransaksi->getById($id); return view('admin.tr_transaksi.edit',[ 'transaksi' => $transaksi, 'tindakan' => $this->msTindakan->getAll(), 'pegawai' => $this->msPegawai->getAll(), ]); } public function update(Request $request, $id) { $request->validate([ 'id_registrasi' => 'required', 'id_tindakan' => 'required', 'jumlah_tindakan' => 'required|integer|min:1', 'id_pegawai' => 'required', ]); $this->trTransaksi->update($id, $request->all()); return redirect()->route('admin.tr_transaksi.index')->with('success', 'Data Ruang Pelayanan berhasil diperbarui.'); } public function destroy($id) { $this->trTransaksi->delete($id); return response()->json(['success' => 'Data Ruang Pelayanan berhasil dihapus.']); } }