$this->service->getAll(), ]); } public function store(EmployeeAdvanceRequest $request): RedirectResponse { try { $this->service->create($request->validated()); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kasbon berhasil ditambahkan.']); } catch (ValidationException $e) { $firstError = collect($e->errors())->flatten()->first(); Inertia::flash('toast', ['type' => 'error', 'message' => $firstError ?? 'Terjadi kesalahan.']); } catch (\Exception $e) { Inertia::flash('toast', ['type' => 'error', 'message' => $e->getMessage()]); } return to_route('admin.finance.employee-advances.index'); } public function update(EmployeeAdvanceRequest $request, EmployeeAdvance $employeeAdvance): RedirectResponse { try { $this->service->update($employeeAdvance, $request->validated()); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kasbon berhasil diperbarui.']); } catch (ValidationException $e) { $firstError = collect($e->errors())->flatten()->first(); Inertia::flash('toast', ['type' => 'error', 'message' => $firstError ?? 'Terjadi kesalahan.']); } catch (\Exception $e) { Inertia::flash('toast', ['type' => 'error', 'message' => $e->getMessage()]); } return to_route('admin.finance.employee-advances.index'); } public function destroy(EmployeeAdvance $employeeAdvance): RedirectResponse { try { $this->service->delete($employeeAdvance); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kasbon berhasil dihapus.']); } catch (\Exception $e) { Inertia::flash('toast', ['type' => 'error', 'message' => $e->getMessage()]); } return to_route('admin.finance.employee-advances.index'); } public function approve(EmployeeAdvance $employeeAdvance): RedirectResponse { try { $this->service->approve($employeeAdvance); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kasbon berhasil disetujui.']); } catch (\Exception $e) { Inertia::flash('toast', ['type' => 'error', 'message' => $e->getMessage()]); } return to_route('admin.finance.employee-advances.index'); } public function pay(EmployeeAdvance $employeeAdvance): RedirectResponse { try { $this->service->pay($employeeAdvance); Inertia::flash('toast', ['type' => 'success', 'message' => 'Kasbon berhasil dibayar.']); } catch (\Exception $e) { Inertia::flash('toast', ['type' => 'error', 'message' => $e->getMessage()]); } return to_route('admin.finance.employee-advances.index'); } }