<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Models\Pendaftaran;
use Illuminate\Http\Request;

class PendaftaranAdminController extends Controller
{
    /**
     * Menampilkan semua data pendaftaran
     */
    public function index()
    {
        // Ambil semua data pendaftaran
        $pendaftar = Pendaftaran::latest()->get();

        // Kirim ke view
        return view('admin.dashboard', compact('pendaftar'));
    }

    /**
     * Form edit data
     */
    public function edit($id)
    {
        $data = Pendaftaran::findOrFail($id);
        return view('admin.edit', compact('data'));
    }

    /**
     * Update data pendaftaran
     */
    public function update(Request $request, $id)
    {
        $pendaftaran = Pendaftaran::findOrFail($id);
        $pendaftaran->update($request->all());

        return redirect()->route('admin.pendaftaran.index')
       ->with('success', 'Data berhasil diperbarui');
    }

    /**
     * Hapus data pendaftaran
     */
    public function destroy($id)
    {
        Pendaftaran::findOrFail($id)->delete();

        return redirect()->route('admin.dashboard')
            ->with('success', 'Data berhasil dihapus');
    }


   // Export ke CSV
    public function exportCsv()
   {
    $fileName = 'data-pendaftar-spmb.csv';

    $pendaftar = \App\Models\Pendaftaran::all();

    $headers = [
        "Content-type" => "text/csv",
        "Content-Disposition" => "attachment; filename=$fileName",
        "Pragma" => "no-cache",
        "Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
        "Expires" => "0"
    ];

    $columns = [
        'No Pendaftaran',
        'Nama Lengkap',
        'No Telepon',
        'NISN',
        'Jenis Kelamin',
        'Agama',
        'Sekolah Asal',
        'Nama Ayah',
        'Pekerjaan Ayah',
        'Penghasilan Ayah',
        'Nama Ibu',
        'Pekerjaan Ibu',
        'Penghasilan Ibu',
        'Jurusan',
        'Telepon Orang Tua'
    ];

    $callback = function () use ($pendaftar, $columns) {
        $file = fopen('php://output', 'w');
        fputcsv($file, $columns);

        foreach ($pendaftar as $row) {
            fputcsv($file, [
                $row->no_pendaftaran,
                $row->nama_lengkap,
                "'".$row->no_telepon,
                $row->nisn,
                $row->jenis_kelamin,
                $row->agama,
                $row->sekolah_asal,
                $row->nama_ayah,
                $row->pekerjaan_ayah,
                $row->penghasilan_ayah,
                $row->nama_ibu,
                $row->pekerjaan_ibu,
                $row->penghasilan_ibu,
                $row->jurusan,
                "'".$row->telepon_orangtua
            ]);
        }

        fclose($file);
    };

    return response()->stream($callback, 200, $headers);
   }

}
