/home/mip/mip/app/Http/Controllers/Website/ApplyNowController.php
<?php

namespace QxCMS\Http\Controllers\Website;

use Illuminate\Http\Request;
use QxCMS\Http\Requests\ApplyNowFormRequest;
use QxCMS\Http\Controllers\Controller;

use DB;

class ApplyNowController extends Controller
{
    public function create()
    {
        return view('website.apply-now');
    }
    

    public function store(ApplyNowFormRequest $request)
    {
      //return 1;
        $singaporeCountryID = 15;
        $taiwanCountryID = 28;
        $selectedCountryID = $request->get('selected_country_id');
        $appliyingForCTPosition = $request->get('appliyingForCTPosition');

        $questionWith = $request->get('questionWith');
        $firstname = $request->get('fname');
        $middlename = $request->get('mname');
        $lastname = $request->get('lname');
        $position = ucwords(strtolower($request->get('position')));
        $email = $request->get('email');
        
        //send email to applicant
        $applicantSubject = $position. ' Job Application';
        if(!empty($email)) {
            \Mail::send('emails.apply-auto-mail',
            array('email' => $email),
            function($message) use ($email, $firstname, $applicantSubject)
      	    {
                $message->from('noreply@mipinternational.com', 'MIP International Manpower Services Inc.');
                $message->to($email, $firstname)->subject($applicantSubject);
            });
        }
        
        //send email to company
        $companySubject = $firstname.' '.$middlename.' '.$lastname.' - '.$position;
    	\Mail::send('emails.apply-now',
        array(
            // Personal Info
            'position' => $position,
            'country' => $request->get('country'),
            'fname' => $firstname,
            'mname' => $middlename,
            'lname' => $lastname,
            'birthdate' => $request->get('birthdate'),
            'gender' => $request->get('gender'),
            'marital_status' => $request->get('marital_status'), // marital status
            'religon' => $request->get('religon'), // religon
            'provincial_address' => $request->get('provincial_address'), // provincial address
            'present_address' => $request->get('present_address'), // present address
            'telephone' => $request->get('telephone'), 
            'facebook' => $request->get('facebook'), // fb
            'email' => $email,
            'height' => $request->get('height'),
            'weight' => $request->get('weight'),
            'passport' => $request->get('passport'),
            'passportNo' => $request->get('passportNo'),
            'dateIssued' => $request->get('dateIssued'),
            'dateExpired' => $request->get('dateExpired'),
            'uploadPhoto' => $request->get('uploadPhoto'),
            'docfile' => $request->get('docfile'),
            
            // Education 1
            'education_level1' => $request->get('education_level1'),
            'school_university1' => $request->get('school_university1'),
            'course1' => $request->get('course1'),
            'startMonth1' => $request->get('startMonth1'),
            'startYear1' => $request->get('startYear1'),
            'endMonth1' => $request->get('endMonth1'),
            'endYear1' => $request->get('endYear1'),
            
            // Education 2
            'education_level2' => $request->get('education_level2'),
            'school_university2' => $request->get('school_university2'),
            'course2' => $request->get('course2'),
            'startMonth2' => $request->get('startMonth2'),
            'startYear2' => $request->get('startYear2'),
            'endMonth2' => $request->get('endMonth2'),
            'endYear2' => $request->get('endYear2'),
            
            // Education 3
            'education_level3' => $request->get('education_level3'),
            'school_university3' => $request->get('school_university3'),
            'course3' => $request->get('course3'),
            'startMonth3' => $request->get('startMonth3'),
            'startYear3' => $request->get('startYear3'),
            'endMonth3' => $request->get('endMonth3'),
            'endYear3' => $request->get('endYear3'),
            
            // Education 4
            'education_level4' => $request->get('education_level4'),
            'school_university4' => $request->get('school_university4'),
            'course4' => $request->get('course4'),
            'startMonth4' => $request->get('startMonth4'),
            'startYear4' => $request->get('startYear4'),
            'endMonth4' => $request->get('endMonth4'),
            'endYear4' => $request->get('endYear4'),
            
            // Work Experience 1
            'company_name1' => $request->get('company_name1'),
            'step3Position1' => $request->get('step3Position1'),
            'departmentName1' => $request->get('departmentName1'),
            'companyAddress1' => $request->get('companyAddress1'),
            'salaryCurrency1' => $request->get('salaryCurrency1'),
            'salary1' => $request->get('salary1'),
            'jobDescription1' => $request->get('jobDescription1'),
            'employmentStartMonth1' => $request->get('employmentStartMonth1'),
            'employmentStartYear1' => $request->get('employmentStartYear1'),
            'employmentEndMonth1' => $request->get('employmentEndMonth1'),
            'employmentEndYear1' => $request->get('employmentEndYear1'),
            
            // Work Experience 2
            'company_name2' => $request->get('company_name2'),
            'step3Position2' => $request->get('step3Position2'),
            'departmentName2' => $request->get('departmentName2'),
            'companyAddress2' => $request->get('companyAddress2'),
            'salaryCurrency2' => $request->get('salaryCurrency2'),
            'salary2' => $request->get('salary2'),
            'jobDescription2' => $request->get('jobDescription2'),
            'employmentStartMonth2' => $request->get('employmentStartMonth2'),
            'employmentStartYear2' => $request->get('employmentStartYear2'),
            'employmentEndMonth2' => $request->get('employmentEndMonth2'),
            'employmentEndYear2' => $request->get('employmentEndYear2'),
            
            // Work Experience 3
            'company_name3' => $request->get('company_name3'),
            'step3Position3' => $request->get('step3Position3'),
            'departmentName3' => $request->get('departmentName3'),
            'companyAddress3' => $request->get('companyAddress3'),
            'salaryCurrency3' => $request->get('salaryCurrency3'),
            'salary3' => $request->get('salary3'),
            'jobDescription3' => $request->get('jobDescription3'),
            'employmentStartMonth3' => $request->get('employmentStartMonth3'),
            'employmentStartYear3' => $request->get('employmentStartYear3'),
            'employmentEndMonth3' => $request->get('employmentEndMonth3'),
            'employmentEndYear3' => $request->get('employmentEndYear3'),
            
            // Work Experience 4
            'company_name4' => $request->get('company_name4'),
            'step3Position4' => $request->get('step3Position4'),
            'departmentName4' => $request->get('departmentName4'),
            'companyAddress4' => $request->get('companyAddress4'),
            'salaryCurrency4' => $request->get('salaryCurrency4'),
            'salary4' => $request->get('salary4'),
            'jobDescription4' => $request->get('jobDescription4'),
            'employmentStartMonth4' => $request->get('employmentStartMonth4'),
            'employmentStartYear4' => $request->get('employmentStartYear4'),
            'employmentEndMonth4' => $request->get('employmentEndMonth4'),
            'employmentEndYear4' => $request->get('employmentEndYear4'),
            
            // Work Experience 5
            'company_name5' => $request->get('company_name5'),
            'step3Position5' => $request->get('step3Position5'),
            'departmentName5' => $request->get('departmentName5'),
            'companyAddress5' => $request->get('companyAddress5'),
            'salaryCurrency5' => $request->get('salaryCurrency5'),
            'salary5' => $request->get('salary5'),
            'jobDescription5' => $request->get('jobDescription5'),
            'employmentStartMonth5' => $request->get('employmentStartMonth5'),
            'employmentStartYear5' => $request->get('employmentStartYear5'),
            'employmentEndMonth5' => $request->get('employmentEndMonth5'),
            'employmentEndYear5' => $request->get('employmentEndYear5'),
            
            // Work Experience 6
            'company_name6' => $request->get('company_name6'),
            'step3Position6' => $request->get('step3Position6'),
            'departmentName6' => $request->get('departmentName6'),
            'companyAddress6' => $request->get('companyAddress6'),
            'salaryCurrency6' => $request->get('salaryCurrency6'),
            'salary6' => $request->get('salary6'),
            'jobDescription6' => $request->get('jobDescription6'),
            'employmentStartMonth6' => $request->get('employmentStartMonth6'),
            'employmentStartYear6' => $request->get('employmentStartYear6'),
            'employmentEndMonth6' => $request->get('employmentEndMonth6'),
            'employmentEndYear6' => $request->get('employmentEndYear6'),
            
            // Work Experience 7
            'company_name7' => $request->get('company_name7'),
            'step3Position7' => $request->get('step3Position7'),
            'departmentName7' => $request->get('departmentName7'),
            'companyAddress7' => $request->get('companyAddress7'),
            'salaryCurrency7' => $request->get('salaryCurrency7'),
            'salary7' => $request->get('salary7'),
            'jobDescription7' => $request->get('jobDescription7'),
            'employmentStartMonth7' => $request->get('employmentStartMonth7'),
            'employmentStartYear7' => $request->get('employmentStartYear7'),
            'employmentEndMonth7' => $request->get('employmentEndMonth7'),
            'employmentEndYear7' => $request->get('employmentEndYear7'),
            
            // Work Experience 8
            'company_name8' => $request->get('company_name8'),
            'step3Position8' => $request->get('step3Position8'),
            'departmentName8' => $request->get('departmentName8'),
            'companyAddress8' => $request->get('companyAddress8'),
            'salaryCurrency8' => $request->get('salaryCurrency8'),
            'salary8' => $request->get('salary8'),
            'jobDescription8' => $request->get('jobDescription8'),
            'employmentStartMonth8' => $request->get('employmentStartMonth8'),
            'employmentStartYear8' => $request->get('employmentStartYear8'),
            'employmentEndMonth8' => $request->get('employmentEndMonth8'),
            'employmentEndYear8' => $request->get('employmentEndYear8'),
            
            // Work Experience 9
            'company_name9' => $request->get('company_name9'),
            'step3Position9' => $request->get('step3Position9'),
            'departmentName9' => $request->get('departmentName9'),
            'companyAddress9' => $request->get('companyAddress9'),
            'salaryCurrency9' => $request->get('salaryCurrency9'),
            'salary9' => $request->get('salary9'),
            'jobDescription9' => $request->get('jobDescription9'),
            'employmentStartMonth9' => $request->get('employmentStartMonth9'),
            'employmentStartYear9' => $request->get('employmentStartYear9'),
            'employmentEndMonth9' => $request->get('employmentEndMonth9'),
            'employmentEndYear9' => $request->get('employmentEndYear9'),
            
            // Work Experience 10
            'company_name10' => $request->get('company_name10'),
            'step3Position10' => $request->get('step3Position10'),
            'departmentName10' => $request->get('departmentName10'),
            'companyAddress10' => $request->get('companyAddress10'),
            'salaryCurrency10' => $request->get('salaryCurrency10'),
            'salary10' => $request->get('salary10'),
            'jobDescription10' => $request->get('jobDescription10'),
            'employmentStartMonth10' => $request->get('employmentStartMonth10'),
            'employmentStartYear10' => $request->get('employmentStartYear10'),
            'employmentEndMonth10' => $request->get('employmentEndMonth10'),
            'employmentEndYear10' => $request->get('employmentEndYear10'),
            
            // Work Experience 11
            'company_name11' => $request->get('company_name11'),
            'step3Position11' => $request->get('step3Position11'),
            'departmentName11' => $request->get('departmentName11'),
            'companyAddress11' => $request->get('companyAddress11'),
            'salaryCurrency11' => $request->get('salaryCurrency11'),
            'salary11' => $request->get('salary11'),
            'jobDescription11' => $request->get('jobDescription11'),
            'employmentStartMonth11' => $request->get('employmentStartMonth11'),
            'employmentStartYear11' => $request->get('employmentStartYear11'),
            'employmentEndMonth11' => $request->get('employmentEndMonth11'),
            'employmentEndYear11' => $request->get('employmentEndYear11'),
            
            // Work Experience 12
            'company_name12' => $request->get('company_name12'),
            'step3Position12' => $request->get('step3Position12'),
            'departmentName12' => $request->get('departmentName12'),
            'companyAddress12' => $request->get('companyAddress12'),
            'salaryCurrency12' => $request->get('salaryCurrency12'),
            'salary12' => $request->get('salary12'),
            'jobDescription12' => $request->get('jobDescription12'),
            'employmentStartMonth12' => $request->get('employmentStartMonth12'),
            'employmentStartYear12' => $request->get('employmentStartYear12'),
            'employmentEndMonth12' => $request->get('employmentEndMonth12'),
            'employmentEndYear12' => $request->get('employmentEndYear12'),
            
            // Work Experience 13
            'company_name13' => $request->get('company_name13'),
            'step3Position13' => $request->get('step3Position13'),
            'departmentName13' => $request->get('departmentName13'),
            'companyAddress13' => $request->get('companyAddress13'),
            'salaryCurrency13' => $request->get('salaryCurrency13'),
            'salary13' => $request->get('salary13'),
            'jobDescription13' => $request->get('jobDescription13'),
            'employmentStartMonth13' => $request->get('employmentStartMonth13'),
            'employmentStartYear13' => $request->get('employmentStartYear13'),
            'employmentEndMonth13' => $request->get('employmentEndMonth13'),
            'employmentEndYear13' => $request->get('employmentEndYear13'),
            
            // Work Experience 14
            'company_name14' => $request->get('company_name14'),
            'step3Position14' => $request->get('step3Position14'),
            'departmentName14' => $request->get('departmentName14'),
            'companyAddress14' => $request->get('companyAddress14'),
            'salaryCurrency14' => $request->get('salaryCurrency14'),
            'salary14' => $request->get('salary14'),
            'jobDescription14' => $request->get('jobDescription14'),
            'employmentStartMonth14' => $request->get('employmentStartMonth14'),
            'employmentStartYear14' => $request->get('employmentStartYear14'),
            'employmentEndMonth14' => $request->get('employmentEndMonth14'),
            'employmentEndYear14' => $request->get('employmentEndYear14'),
            
            // Work Experience 15
            'company_name15' => $request->get('company_name15'),
            'step3Position15' => $request->get('step3Position15'),
            'departmentName15' => $request->get('departmentName15'),
            'companyAddress15' => $request->get('companyAddress15'),
            'salaryCurrency15' => $request->get('salaryCurrency15'),
            'salary15' => $request->get('salary15'),
            'jobDescription15' => $request->get('jobDescription15'),
            'employmentStartMonth15' => $request->get('employmentStartMonth15'),
            'employmentStartYear15' => $request->get('employmentStartYear15'),
            'employmentEndMonth15' => $request->get('employmentEndMonth15'),
            'employmentEndYear15' => $request->get('employmentEndYear15'),
            
            
            // Taiwan - Factory Worker Position
            'taiwanFactoryExperienceElectronics' => $request->get('taiwanFactoryExperienceElectronics'),
            'taiwanFactoryExperienceSemicon' => $request->get('taiwanFactoryExperienceSemicon'),
            'taiwanFactoryExperienceSoldering' => $request->get('taiwanFactoryExperienceSoldering'),
            'taiwanFactoryExperienceCNC' => $request->get('taiwanFactoryExperienceCNC'),
            'taiwanFactoryExperienceSewer' => $request->get('taiwanFactoryExperienceSewer'),
            'taiwanFactoryFirstTimeAbroad' => $request->get('taiwanFactoryFirstTimeAbroad'),
            'taiwanFactorySmoking' => $request->get('taiwanFactorySmoking'),
            'taiwanFactoryDrinkingAlcohol' => $request->get('taiwanFactoryDrinkingAlcohol'),
            'taiwanFactoryHandSweat' => $request->get('taiwanFactoryHandSweat'),
            'taiwanFactoryEyesight' => $request->get('taiwanFactoryEyesight'),
            
            // Taiwan - Factory Worker Position
            'singaporeNurseOverseasExperience' => $request->get('singaporeNurseOverseasExperience'),
            'singaporeNurseWhatCountry' => $request->get('singaporeNurseWhatCountry'),
            'singaporeNurseNameEmployer' => $request->get('singaporeNurseNameEmployer'),
            'singaporeNurseBedCapacity' => $request->get('singaporeNurseBedCapacity'),
            'singaporeNurseAreaExposure' => $request->get('singaporeNurseAreaExposure'),
            'singaporeNursePosition' => $request->get('singaporeNursePosition'),
            
            // Domestic Helper
            'domesticHelperOverseasExperience' => $request->get('domesticHelperOverseasExperience'),
            'domesticHelperWorkingPeriod' => $request->get('domesticHelperWorkingPeriod'),
            'domesticHelperLeaving' => $request->get('domesticHelperLeaving'),
            'domesticHelperTakingCareBabies' => $request->get('domesticHelperTakingCareBabies'),
            'domesticHelperTakingCareAges' => $request->get('domesticHelperTakingCareAges'),
            'domesticHelperCook' => $request->get('domesticHelperCook'),
            
            // Korea Performing Arts
            'koreaPerformingArtsSinger' => $request->get('koreaPerformingArtsSinger'),
            'koreaPerformingArtsPosition' => $request->get('koreaPerformingArtsPosition'),
            'koreaPerformingArtsWorkingPeriod' => $request->get('koreaPerformingArtsWorkingPeriod'),
            
            // China English Teacher
            'chinaEnglishTeacherExperience' => $request->get('chinaEnglishTeacherExperience'),
            'chinaEnglishTeacherArtsPosition' => $request->get('chinaEnglishTeacherArtsPosition'),
            'chinaEnglishTeacherWorkingPeriod' => $request->get('chinaEnglishTeacherWorkingPeriod')
            

        ), function($message) use ($request, $companySubject, $singaporeCountryID, $taiwanCountryID, $selectedCountryID, $appliyingForCTPosition)
  	    {
            $to_email = "mip.intlmanpowerservices@gmail.com";
            if($selectedCountryID == $singaporeCountryID) $to_email = "applycvs.singapore@gmail.com";
            if($selectedCountryID == $taiwanCountryID) $to_email = "applycvs.taiwan@gmail.com";
            if($appliyingForCTPosition == 1) {
                  if(($selectedCountryID == $taiwanCountryID) || ($selectedCountryID == $singaporeCountryID)) {
                     $to_email = "applycvs.dhct@gmail.com";
                  }
            }

            /*$to_email = "danilo@quantumx.com";
            if($selectedCountryID == $singaporeCountryID) $to_email = "jayson@quantumx.com";
            if($selectedCountryID == $taiwanCountryID) $to_email = "christinejoy@quantumx.com";
            if($appliyingForCTPosition == 1) {
                  if(($selectedCountryID == $taiwanCountryID) || ($selectedCountryID == $singaporeCountryID)) {
                     $to_email = "jude@quantumx.com";
                  }
            }*/

            $message->from('noreply@mipinternational.com', 'MIP Website Application');
            $message->to([$to_email])->subject($companySubject);
            //$message->to(['danilo@quantumx.com'])->subject($companySubject);
            //$message->to(['jovylou@quantumx.com'])->subject($companySubject);
            
            if(!empty($request['uploadPhoto'])){
                $message->attach($request['uploadPhoto']->getRealPath(), array(
                    'as'=>$request['uploadPhoto']->getClientOriginalName(),
                    'mime' => $request['uploadPhoto']->getMimeType())
                );
            }
            
            if(!empty($request['docfile'])){
                    $message->attach($request['docfile']->getRealPath(), array(
                    'as'=>$request['docfile']->getClientOriginalName(),
                    'mime' => $request['docfile']->getMimeType())
                );
            }
            
        });//end
        
    	return \Redirect::route('applynow')
            ->with('message', 'Message Sent. Thanks for applying to us!')->with('questionWith', $questionWith);
        
    } // function end
}