<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Karyawan;
use Illuminate\Support\Facades\Hash;

class AuthController extends Controller
{
    public function login()
    {
        return view('login');
    }

    public function dashboard()
    {
        if (!session('login'))
        {
            return redirect('/');
        }

        $karyawan = Karyawan::all();

        $jumlahKaryawan = Karyawan::count();
        $jumlahAktif = Karyawan::where('status', 'aktif')->count();
        $jumlahNonAktif = Karyawan::where('status', 'nonaktif')->count();

        return view(
            'dashboard',
            compact(
                'karyawan',
                'jumlahKaryawan',
                'jumlahAktif',
                'jumlahNonAktif'
            )
        );
    }

    public function prosesLogin(Request $request)
    {
        session([
            'login' => true,
            'nama'  => 'Administrator'
        ]);

        return redirect('/dashboard');
    }

    public function tambahKaryawan()
    {
        return view('tambah_karyawan');
    }

    public function simpanKaryawan(Request $request)
    {
        Karyawan::create([
            'kode_karyawan' => $request->kode_karyawan,
            'nama'          => $request->nama,
            'jabatan'       => $request->jabatan,
            'username'      => $request->username,
            'password'      => Hash::make($request->password),
            'status'        => 'aktif'
        ]);

        return redirect('/dashboard');
    }

    public function editKaryawan($id)
    {
        $karyawan = Karyawan::find($id);

        return view(
            'edit_karyawan',
            compact('karyawan')
        );
    }

    public function updateKaryawan(Request $request, $id)
    {
        $karyawan = Karyawan::find($id);

        $karyawan->update([
            'kode_karyawan' => $request->kode_karyawan,
            'nama'          => $request->nama,
            'jabatan'       => $request->jabatan,
            'username'      => $request->username
        ]);

        return redirect('/dashboard');
    }

    public function hapusKaryawan($id)
    {
        Karyawan::find($id)->delete();

        return redirect('/dashboard');
    }
}