<?php

namespace App\Http\Controllers\calonsiswa;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\Pendaftar;
use App\Models\Periodik;
use App\Models\Tahunajaran;
use App\Models\AsalSekolah;
use App\User;


class PendaftarController extends Controller
{
    public function index()
    {  
        return view('calonsiswa.pendaftar.create');
    }

    public function hasilujian(Request $req)
    {    
        $this->data['title'] = 'Hasil Ujian';
        $this->data['pendaftar'] = Pendaftar::all();
        
        return view('calonsiswa.hasilujian.index',$this->data);
    }

    public function create()
    {
    	 $this->data['title'] = 'Lengkapi Form Data Pribadi';
         $this->data['tahunajaran'] = Tahunajaran::all();
        return view('calonsiswa.pendaftar.create',$this->data);
    }


    public function store(Request $request)
    {
        $this->validate($request,[

            'nama'=>'required',
            'jeniskelamin'=>'required',
            'tempatlahir'=>'required',
            'tanggallahir'=>'required',
            'agama'=>'required',
            'alamat'=>'required',
            'kebutuhan_khusus'=>'required',
            'no_hp'=>'required'
        ]);

        $this->validate($request,[
            'tinggi_badan'=>'required',
            'berat_badan'=>'required',
            'jarak_kesekolah'=>'required',
            'waktu_tempuh'=>'required',
            'jumlah_saudara'=>'required'
        ]);


            $pendaftar = new Pendaftar;
             
            $ko = mt_rand(100000,999999).mt_rand(100000,9999999);
            $string = str_shuffle($ko);
            $pendaftar->no_pendaftar = $string;
            $pendaftar ->nama = $request ->nama;
            $pendaftar ->jeniskelamin = $request ->jeniskelamin;
            $pendaftar ->tempatlahir = $request ->tempatlahir;
            $pendaftar ->tanggallahir = $request ->tanggallahir;
            $pendaftar ->agama = $request ->agama;
            $pendaftar ->alamat =$request->alamat;
            $pendaftar ->kebutuhan_khusus =$request->kebutuhan_khusus;
            $pendaftar ->status = 'Request'; 
            $pendaftar ->no_hp = $request->no_hp;
            $pendaftar ->user_id = $request->user()->id;
            
            if ($request->user()->id_pendaftar == $pendaftar ->user_id) {
                return redirect()->route('pendaftar.index')->with('info','Fail');
            }
            $id = $pendaftar ->save(); 


            // Periodik

            $input['tinggi_badan'] = $request->input('tinggi_badan');
            $input['berat_badan'] = $request->input('berat_badan');
            $input['jarak_kesekolah'] = $request->input('jarak_kesekolah');
            $input['waktu_tempuh'] = $request->input('waktu_tempuh');
            $input['jumlah_saudara'] = $request->input('jumlah_saudara');
            $input['id_pendaftar'] = $request->user()->pendaftar->id;
            $id = $request->input('id');

            Periodik::UpdateOrCreate($input);

            $asal = new AsalSekolah;
            $asal->id_pendaftar =$request->user()->Pendaftar->id;
            $asal ->nama_sekolah = $request ->nama_sekolah;
            $asal ->alamat_sekolah = $request ->alamat_sekolah;
            $asal ->nisn = $request ->nisn;
            $asal ->nik = $request ->nik;
            $asal ->no_ijazah = $request ->no_ijazah;
            $asal ->no_skhun = $request ->no_skhun;
            $asal ->no_ujiannasional = $request ->no_ujiannasional;
            $id = $asal ->save();

         	return redirect()->route('pendaftar.index')->with('info','Selesai Mendaftar');
        }

        public function show($id)
        {
            //
            $this->data['pendaftar'] = Pendaftar::where('user_id',$id)->get();
            return view('calonsiswa.pendaftar.show',$this->data);
        }


        public function edit($id)
        {
            $this->data['kartu'] = Pendaftar::findOrFail($id);
            return view('calonsiswa.pendaftar.edit',$this->data);
        }

        public function update($id, Request $request)
        {
            //validate
            $this->validate($request,[
                'nama'=>'required',
                'jeniskelamin'=>'required',
                'tempatlahir'=>'required',
                'tanggallahir'=>'required',
                'agama'=>'required',
                'alamat'=>'required',
                'kebutuhan_khusus'=>'required',
                'no_hp'=>'required'
            ]);

            $kartu = Pendaftar::findOrFail($id);
            $kartu -> nama = $request->nama;
            $kartu -> jeniskelamin = $request->jeniskelamin;
            $kartu -> tempatlahir = $request->tempatlahir;
            $kartu -> tanggallahir = $request->tanggallahir;
            $kartu -> agama = $request->agama;
            $kartu -> alamat = $request->alamat;
            $kartu -> kebutuhan_khusus = $request->kebutuhan_khusus;
            $kartu -> no_hp = $request->no_hp;
            $kartu-> save();
            return view('calonsiswa.dashboard')->with('info','Berhasil diubah');

        }
        public function destroy($id)
        {
            Pendaftar::destroy($id);

            Session::flash('flash_message', 'pengdaftar dihapus!');

            return redirect()->route('pendaftar.index');
        }
    }
