<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Siswa;
use App\Models\Guru;
use App\Models\Kelas;
use App\Models\Prestasi;
use App\Models\PelanggaranSiswa;
use Illuminate\Support\Facades\DB;

class InputController extends Controller
{
    // Form Input Prestasi
    public function prestasi()
    {
        $data_siswa = DB::select("SELECT s.id_siswa, s.nama, k.nama_kelas as kelas 
            FROM siswa s LEFT JOIN kelas k ON s.kelas = k.id_kelas ORDER BY s.nama ASC");
        $data_guru = Guru::orderBy('nama', 'ASC')->get();
        return view('input.prestasi', compact('data_siswa', 'data_guru'));
    }

    // Simpan Prestasi
    public function simpanPrestasi(Request $request)
    {
        $request->validate([
            'id_siswa' => 'required',
            'nama_prestasi' => 'required',
            'tahun' => 'required',
            'tingkat' => 'required',
            'jenis_prestasi' => 'required',
            'id_guru' => 'required',
        ]);

        Prestasi::create([
            'id_siswa' => $request->id_siswa,
            'nama_prestasi' => $request->nama_prestasi,
            'tahun' => $request->tahun,
            'tingkat' => $request->tingkat,
            'jenis_prestasi' => $request->jenis_prestasi,
            'id_guru' => $request->id_guru,
        ]);

        return back()->with('notif', 'sukses');
    }

    // Form Input Pelanggaran
    public function pelanggaran()
    {
        $data_siswa = DB::select("SELECT s.id_siswa, s.nama, k.nama_kelas as kelas 
            FROM siswa s LEFT JOIN kelas k ON s.kelas = k.id_kelas ORDER BY s.nama ASC");
        $data_guru = Guru::orderBy('nama', 'ASC')->get();
        return view('input.pelanggaran', compact('data_siswa', 'data_guru'));
    }

    // Simpan Pelanggaran
    public function simpanPelanggaran(Request $request)
    {
        $request->validate([
            'id_siswa' => 'required',
            'jenis_pelanggaran' => 'required',
            'tanggal' => 'required',
            'id_guru' => 'required',
        ]);

        PelanggaranSiswa::create([
            'id_siswa' => $request->id_siswa,
            'jenis_pelanggaran' => $request->jenis_pelanggaran,
            'tanggal' => $request->tanggal,
            'keterangan' => $request->keterangan,
            'id_guru' => $request->id_guru,
        ]);

        return back()->with('notif', 'sukses');
    }
}
