<?php

namespace App\Http\Controllers;

use App\Models\SosialKasPengeluaran;
use Illuminate\Http\Request;

class SosialKasPengeluaranController extends Controller
{
    public function index()
    {
        $data = SosialKasPengeluaran::all();
        $total = $data->sum('jumlah');

        return view('sosial_kas.pengeluaran.index', compact('data', 'total'));
    }

    public function create()
    {
        return view('sosial_kas.pengeluaran.create');
    }

    public function store(Request $request)
    {
        $request->validate([
            'tanggal' => 'required|date',
            'kategori' => 'required|string|max:255',
            'jumlah' => 'required|integer',
            'barang' => 'required|string|max:255',
            'keterangan' => 'nullable|string',
        ]);

        SosialKasPengeluaran::create($request->all());

        return redirect()->route('sosial-kas.pengeluaran.index')->with('success', 'Pengeluaran berhasil ditambahkan.');
    }

    public function edit($id)
    {
        $d = SosialKasPengeluaran::findOrFail($id);
        return view('sosial_kas.pengeluaran.edit', compact('d'));
    }

    public function update(Request $request, SosialKasPengeluaran $pengeluaran)
    {
        $request->validate([
            'tanggal' => 'required|date',
            'kategori' => 'required|string|max:255',
            'jumlah' => 'required|integer',
            'barang' => 'required|string|max:255',
            'keterangan' => 'nullable|string',
        ]);

        $pengeluaran->update($request->all());

        return redirect()->route('sosial-kas.pengeluaran.index')->with('success', 'Pengeluaran berhasil diperbarui.');
    }

    public function destroy(SosialKasPengeluaran $pengeluaran)
    {
        $pengeluaran->delete();
        return redirect()->route('sosial-kas.pengeluaran.index')->with('success', 'Pengeluaran berhasil dihapus.');
    }
}
