public function register(Request $request)
{
    $cek_member = MemberModel::where('member_email', $request['MEMBER_EMAIL'])->get();
    if ($cek_member->isEmpty()) {
        if ($request['MEMBER_PASSWORD'] == $request['MEMBER_PASSWORD2']) {

            $input['member_first_name'] = $request['MEMBER_FIRST_NAME'];
            $input['member_last_name']  = $request['MEMBER_LAST_NAME'];
            $input['member_email']      = $request['MEMBER_EMAIL'];
            $input['member_password']   = $request['MEMBER_PASSWORD'];
            $input['member_birthday']   = date('Y-m-d',strtotime($request['MEMBER_DOB']));
            $input['country_id']        = $request['MEMBER_COUNTRY_ID'];
            $input['country_name']      = $request['MEMBER_COUNTRY_NAME'];
            $input['partner_id']        = $request['PARTNER_ID_PVG'];
            $input['partner_name']      = $request['PARTNER_NAME'];
            $input['key_activated']     = hash::make($request['MEMBER_EMAIL']);
            $input['created_date']      = date('Y-m-d');
            $input['accept_marketing']  = $request['ACCEPT_MARKETING'];

            $rules =  [
                'member_first_name'     => 'required',
                'member_last_name'      => 'required',
                'member_email'          => 'required|email|unique:member_master',
                // 'member_password'       => 'required|alpha_num|min:8',
                'member_password'       => 'required|regex:/^.*(?=.{3,})(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[\d\X]).*$/|min:8',
                'member_birthday'       => 'required',
            ];

            $validator = Validator::make($input, $rules);
            if ($validator->fails()) {
                $json['STATUS_CODE']    = '400';
                $json['MESSAGE']        = $validator->errors()->first();
                $json['DATA']           = array();
            }else{
                $input['member_password']   = hash::make($request['MEMBER_PASSWORD']);
                $saved = MemberModel::create($input);

                $country_code = $this->GET(env('API').'country');
                $uid          = sprintf('%07d',$saved['member_id']);
                $code         = 'SG';
                if ($country_code['STATUS_CODE'] == '200') {
                    foreach ($country_code['DATA'] as $key) {
                        if ($key['country_id'] == $request['MEMBER_COUNTRY_ID']) {
                            $code = $key['country_code'];
                        }
                    }
                }

                $member_uid = $code.'C'.$uid;
                $incl['member_code'] = (!empty($request['MEMBERSHIP_ID'])) ? $request['MEMBERSHIP_ID'] : $member_uid;
                MemberModel::where('member_id', $saved['member_id'])->update($incl);

                Mail::to($input['member_email'])->send(new MemberMail($input['key_activated'], $input['member_email'], 132, $request['REFER_CODE']));
                $json['STATUS_CODE']    = '200';
                $json['MESSAGE']        = 'SUCCESS';
                $json['DATA']           =  $saved;
            }
        }else{
            $json['STATUS_CODE']    = '400';
            $json['MESSAGE']        = 'BAD REQUEST! PASSWORD CONFIRMATION NOT MATCH';
            $json['DATA']           = new \stdClass;
        }
    }else{
        $json['STATUS_CODE']    = '400';
        $json['MESSAGE']        = 'This email address has been used';
        $json['DATA']           = array();
    }
    return response($json);
}
