<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreCourseRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $rules = [
            'type' => 'required',
            'gear' => 'required',
            'name' => 'required',
            'hour' => 'required|numeric',
            'price' => 'required|numeric',
            'test' => 'required',
        ];

        if($this->input('module1')!='') {
            $rules = array_merge($rules,['module1' => 'required']);
            $rules = array_merge($rules,['mHour1' => 'required|numeric']);
            $rules = array_merge($rules,['mDrive1' => 'required']);
        }
        if($this->input('module2')!='') {
            $rules = array_merge($rules,['module2' => 'required']);
            $rules = array_merge($rules,['mHour2' => 'required|numeric']);
            $rules = array_merge($rules,['mDrive2' => 'required']);
        }
        if($this->input('module3')!='') {
            $rules = array_merge($rules,['module3' => 'required']);
            $rules = array_merge($rules,['mHour3' => 'required|numeric']);
            $rules = array_merge($rules,['mDrive3' => 'required']);
        }
        if($this->input('module4')!='') {
            $rules = array_merge($rules,['module4' => 'required']);
            $rules = array_merge($rules,['mHour4' => 'required|numeric']);
            $rules = array_merge($rules,['mDrive4' => 'required']);
        }
        if($this->input('module5')!='') {
            $rules = array_merge($rules,['module5' => 'required']);
            $rules = array_merge($rules,['mHour5' => 'required|numeric']);
            $rules = array_merge($rules,['mDrive5' => 'required']);
        }

        return $rules;
    }

    public function messages()
    {
        $msg = [
            'type.required' => 'กรุณาเลือกประเภทหลักสูตร',
            'gear.required' => 'กรุณาเลือกประเภทเกียร์',
            'name.required' => 'กรุณากรอกชื่อหลักสูตร',
            'hour.required' => 'กรุณากรอกจำนวนชั่วโมง',
            'hour.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น',
            'price.required' => 'กรุณากรอกราคาหลักสูตร',
            'price.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น',
            'test.required' => 'กรุณาเลือกสถานะการสอบใบขับขี่กับโรงเรียน',
        ];

        if($this->input('module1')!='') {
            $msg = array_merge($msg,['module1.required' => 'กรุณากรอกวิชาที่ 1']);
            $msg = array_merge($msg,['module1.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น']);
            $msg = array_merge($msg,['mDrive1.required' => 'กรุณาเลือกมีการขับรถของวิชาที่ 1 หรือไม่']);
        }
        if($this->input('module2')!='') {
            $msg = array_merge($msg,['module2.required' => 'กรุณากรอกวิชาที่ 2']);
            $msg = array_merge($msg,['module2.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น']);
            $msg = array_merge($msg,['mDrive2.required' => 'กรุณาเลือกมีการขับรถของวิชาที่ 2 หรือไม่']);
        }
        if($this->input('module3')!='') {
            $msg = array_merge($msg,['module3.required' => 'กรุณากรอกวิชาที่ 3']);
            $msg = array_merge($msg,['module3.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น']);
            $msg = array_merge($msg,['mDrive3.required' => 'กรุณาเลือกมีการขับรถของวิชาที่ 3 หรือไม่']);
        }
        if($this->input('module4')!='') {
            $msg = array_merge($msg,['module4.required' => 'กรุณากรอกวิชาที่ 4']);
            $msg = array_merge($msg,['module4.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น']);
            $msg = array_merge($msg,['mDrive4.required' => 'กรุณาเลือกมีการขับรถของวิชาที่ 4 หรือไม่']);
        }
        if($this->input('module5')!='') {
            $msg = array_merge($msg,['module5.required' => 'กรุณากรอกวิชาที่ 5']);
            $msg = array_merge($msg,['module5.numeric' => 'กรุณากรอกเป็นตัวเลขเท่านั้น']);
            $msg = array_merge($msg,['mDrive5.required' => 'กรุณาเลือกมีการขับรถของวิชาที่ 5 หรือไม่']);
        }

        return $msg;
    }
}
