Untitled

 avatar
unknown
plain_text
2 years ago
3.4 kB
6
Indexable
    public function updatedLampiranA1()
    {
   
        try {

            $this->validate(
                ['lampiranA1' => 'mimes:jpeg,jpg,png,pdf|max:3024|'],
                ['lampiranA1.max' => 'Fail perlu tidak melebihi 3024MB'],
            );

            $this->DataLampiran = PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
            ->select('id', 'pegawai_skim_id', 'pegawai_id', 'lampiran_name', 'lampiran_category', 'lampiran_file_name', 'lampiran_extention', 
                'lampiran_full_path', 'lampiran_description')
            ->first();

            DB::beginTransaction();


            $folder = "/public/lampiran/".$this->pegawaiSkimPengalaman->pegawai_skim_id;

            if (!is_dir(Storage::path($folder))) {
                mkdir (Storage::path($folder) ,0777, true);
            }

            $this->lampiranA1FileName   = time() . '_lampiran_A1.' . $this->lampiranA1->getClientOriginalExtension();

            $fileContent = file_get_contents($this->lampiranA1->getRealPath());
            $file_extension = $this->lampiranA1->getClientOriginalExtension();
            $file_decode = base64_encode($fileContent);


            if(!empty($this->DataLampiran)){
                PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
                ->update(
                    [
                        'lampiran_file_name'        => $this->lampiranA1FileName,
                        'lampiran_full_path'        => $folder.'/'.$this->lampiranA1FileName,
                        'lampiran_binary'           =>$file_decode,
                        'lampiran_extention'         =>$file_extension,
                    ]
                );
            }else{

                PegawaiSkimLampiran::where('pegawai_skim_id', $this->id_PegawaiSkim)
                ->create(
                    [
                        'pegawai_skim_id'           => $this->pegawai->pegawai_skim_id,
                        'pegawai_id'                => $this->pegawai->pegawai_id,
                        'lampiran_name'             => 'Lampiran_A1_'.$this->pegawaiSkimPengalaman->id,
                        'lampiran_file_name'        => $this->lampiranA1FileName,
                        'lampiran_full_path'        => $folder.'/'.$this->lampiranA1FileName,
                        'lampiran_description'      => "Lampiran A1",
                        'lampiran_binary'           =>$file_decode,
                        'lampiran_extention'         =>$file_extension,
                    ]
                );
            }

            $this->lampiranA1FullPath = $folder;

            DB::commit();
            
            $this->emit('alert', [
                'type' => 'success',
                'title' => 'Berjaya',
                'message' => 'Fail Berjaya Di Muat Naik',
            ]);
    
            $this->emit('$refresh');
        }
        catch (\Illuminate\Validation\ValidationException $e) {

            DB::rollBack();
            $validator = $e->validator;
            $error = $validator->errors()->messages();

            foreach($error as $er) {

                $this->emit('alert', [
                    'type' => 'error',
                    'title' => 'Ralat',
                    'message' => $er,
                ]);
            }

            throw $e;
        }
    }
Editor is loading...
Leave a Comment