<?php

namespace App\Http\Controllers;

use App\Models\Crip;
use Illuminate\Http\Request;
use Barryvdh\DomPDF\Facade\Pdf;

class CripsController extends Controller
{
    public function crips()
    {
        $crips = Crip::all();
        return view('admin.crips', compact('crips'));
    }

    public function tambahcrips(Request $request)
{
    $request->validate([
        'nama' => 'required|string|unique:crips,nama',
        'nilai' => 'required|integer|unique:crips,nilai',
    ]);

    $nama = $request->input('nama');
    $nilai = $request->input('nilai');

    // Cek apakah ada crips dengan nama atau nilai yang duplikat
    $duplikat = Crip::where('nama', $nama)->orWhere('nilai', $nilai)->exists();

    if ($duplikat) {
        toastr()->error('Nama atau nilai tersebut sudah ada.');
        return redirect()->back();
    }

    $crip = new Crip();
    $crip->nama = $nama;
    $crip->nilai = $nilai;

    if ($crip->save()) {
        toastr()->success('Data crips berhasil ditambahkan.');
    } else {
        toastr()->error('Gagal menambahkan data crips.');
    }

    return redirect()->route('crips');
}


    public function updatecrips(Request $request, $id)
{
    // Validasi input
    $request->validate([
        'nama' => 'required|string|unique:crips,nama,' . $id,
        'nilai' => 'required|integer|unique:crips,nilai,' . $id,
    ]);

    // Cari data crips berdasarkan ID
    $crip = Crip::find($id);

    if (!$crip) {
        toastr()->error('Data crips tidak ditemukan.');
        return redirect()->route('crips');
    }

    // Ambil data dari request
    $crip->nama = $request->input('nama');
    $crip->nilai = $request->input('nilai');

    // Cek apakah ada crips dengan nama atau nilai yang duplikat
    $duplikat = Crip::where('nama', $crip->nama)
                    ->orWhere('nilai', $crip->nilai)
                    ->where('id', '!=', $id)  // Pastikan tidak memeriksa data yang sedang diperbarui
                    ->exists();

    if ($duplikat) {
        toastr()->error('Nama atau nilai tersebut sudah ada.');
        return redirect()->back();
    }

    // Simpan perubahan
    if ($crip->save()) {
        toastr()->success('Data crips berhasil diperbarui.');
    } else {
        toastr()->error('Gagal memperbarui data crips.');
    }

    // Redirect ke halaman daftar crips
    return redirect()->route('crips')->with('reload', true);

}



public function hapuscrips($id)
{
    $crip = Crip::findOrFail($id);
    $crip->delete();

    toastr()->success('Data crips berhasil dihapus.');
    return redirect()->route('crips');
}

public function downloadcrips()
    {
        // Ambil data sekolah dari database
        $crips = Crip::all();
        $pdf = Pdf::loadView('admin.cripspdf', compact('crips'));
        // Download file PDF
        return $pdf->download('data_crips.pdf');
    }


}

