<?php
namespace App\Controllers;

use App\Models\StudentModel;
use App\Models\ParentModel;

class Admission extends BaseController
{
    public function index()
    {
        return view('admission/form');
    }

    public function save()
    {
        $rules=[
            'name'=>'required',
            'dob'=>'required',
            'class_applied'=>'required',
            'gender'=>'required',
            'mobile'=>'required|min_length[10]',
            'religion'=>'required',
            'community'=>'required',
            'caste'=>'required',
            'mother_tongue'=>'required',
            'guardian_type'=>'required',
            'father_name'=>'required',
            'mother_name'=>'required'
        ];

        if(!$this->validate($rules)){
            return $this->response->setJSON([
                'status'=>'error',
                'errors'=>$this->validator->getErrors()
            ]);
        }

        $studentModel=new StudentModel();
        $parentModel=new ParentModel();

        /* insert student */
        $studentId=$studentModel->insert([
            'name'=>$this->request->getPost('name'),
            'dob'=>$this->request->getPost('dob'),
            'class_applied'=>$this->request->getPost('class_applied'),
            'gender'=>$this->request->getPost('gender'),
            'mobile'=>$this->request->getPost('mobile'),
            'religion'=>$this->request->getPost('religion'),
            'nationality'=>$this->request->getPost('nationality'),
            'community'=>$this->request->getPost('community'),
            'caste'=>$this->request->getPost('caste'),
            'email'=>$this->request->getPost('email'),
            'mother_tongue'=>$this->request->getPost('mother_tongue'),
            'guardian_type'=>$this->request->getPost('guardian_type'),
            'aadhar'=>$this->request->getPost('aadhar'),
            'address'=>$this->request->getPost('address'),
        ]);

        /* insert parents */
        $parents=[
            [
                'type'=>'father',
                'name'=>$this->request->getPost('father_name'),
                'qualification'=>$this->request->getPost('father_qualification'),
                'occupation'=>$this->request->getPost('father_occupation'),
                'annual_income'=>$this->request->getPost('father_income')
            ],
            [
                'type'=>'mother',
                'name'=>$this->request->getPost('mother_name'),
                'qualification'=>$this->request->getPost('mother_qualification'),
                'occupation'=>$this->request->getPost('mother_occupation'),
                'annual_income'=>$this->request->getPost('mother_income')
            ],
            [
                'type'=>'guardian',
                'name'=>$this->request->getPost('guardian_name'),
                'qualification'=>$this->request->getPost('guardian_qualification'),
                'occupation'=>$this->request->getPost('guardian_occupation'),
                'annual_income'=>''
            ]
        ];

        foreach($parents as $p){
            if($p['name']){
                $p['student_id']=$studentId;
                $parentModel->insert($p);
            }
        }

        return $this->response->setJSON(['status'=>'success']);
    }
}
