'Setor Uang', 'depositMoney' => DepositMoney::with(['user', 'user.biography']) ->barbershop() ->latest() ->get(), ]); } public function store(DepositMoneyRequest $request): RedirectResponse { $validatedData = $request->validated(); $barbershopId = Auth::user()->barbershop_id; $barbershop = Barbershop::findOrFail($barbershopId); DB::transaction(function () use ($validatedData, $barbershop) { DepositMoney::create(array_merge($validatedData, [ 'user_id' => Auth::id(), 'barbershop_id' => Auth::user()->barbershop_id, ])); $barbershop->decrement('cash', $validatedData['amount']); }); notify()->success('Data berhasil ditambahkan', 'Berhasil'); return back(); } public function update(DepositMoneyRequest $request, DepositMoney $depositMoney): RedirectResponse { $validatedData = $request->validated(); $barbershop = Barbershop::findOrFail($depositMoney->barbershop_id); DB::transaction(function () use ($validatedData, $depositMoney, $barbershop) { $barbershop->increment('cash', $depositMoney->amount); $depositMoney->update($validatedData); $barbershop->decrement('cash', $validatedData['amount']); }); notify()->success('Data berhasil diperbarui', 'Berhasil'); return back(); } public function delete(DepositMoney $depositMoney): RedirectResponse { $barbershop = Barbershop::findOrFail($depositMoney->barbershop_id); DB::transaction(function () use ($depositMoney, $barbershop) { $barbershop->increment('cash', $depositMoney->amount); $depositMoney->delete(); }); notify()->success('Data berhasil dihapus', 'Berhasil'); return back(); } }