184 lines
4.9 KiB
PHP
184 lines
4.9 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use Response;
|
|
use Schema;
|
|
use Hash;
|
|
use App\Libraries\ListHelper;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use App\Contracts\PersonalDetailsResourceInterface;
|
|
use App\PersonalDetails;
|
|
use App\Helpers\HttpStatusCode;
|
|
use App\Helpers\CurrentUserHelper;
|
|
use App\Libraries\UuidHelper;
|
|
use App\Libraries\S3;
|
|
|
|
class PersonalDetailsService implements PersonalDetailsResourceInterface
|
|
{
|
|
|
|
public $personalDetails;
|
|
|
|
public $pd_id;
|
|
|
|
public function getDetailsWhereIn($field,$value)
|
|
{
|
|
$details = PersonalDetails::whereIn($field,$value)->get();
|
|
return $details;
|
|
}
|
|
|
|
public function delete($uuid)
|
|
{
|
|
$currentUser = CurrentUserHelper::get_currentAdmin();
|
|
|
|
if(is_array($uuid))
|
|
{
|
|
$this->personalDetailspersonalDetails = PersonalDetails::whereIn('pd_uuid',$uuid)
|
|
->update([
|
|
'is_active' => 0,
|
|
'updated_by' => $currentUser->admin_id
|
|
]);
|
|
|
|
if($this->personalDetailspersonalDetails)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
$this->personalDetails = PersonalDetails::where('pd_uuid',$uuid)->first();
|
|
$this->personalDetails->is_active = 0;
|
|
$this->personalDetails->updated_by = $currentUser['admin_id'];
|
|
|
|
if ($this->personalDetails->save())
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function store($data)
|
|
{
|
|
$this->personalDetails = new PersonalDetails;
|
|
|
|
$uuid = new UuidHelper;
|
|
$this->personalDetails->pd_uuid = $uuid->generate_uuid1();
|
|
|
|
$this->personalDetails->firstname = isset($data->first_name) ? $data->first_name : $data->firstname;
|
|
$this->personalDetails->lastname = isset($data->last_name) ? $data->last_name : $data->lastname;
|
|
$this->personalDetails->birthdate = $data->birthdate;
|
|
$this->personalDetails->middlename = '';
|
|
$this->personalDetails->photo = '';
|
|
$this->personalDetails->address = '';
|
|
|
|
if ($this->personalDetails->save())
|
|
{
|
|
return $this->personalDetails->pd_id;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function update($request, $id)
|
|
{
|
|
$this->personalDetails = PersonalDetails::where('pd_id',$id)->first();
|
|
|
|
$this->personalDetails->middlename = $request->middlename;
|
|
$this->personalDetails->address = $request->address;
|
|
|
|
$path = null;
|
|
if($request->is_deleted == "true")
|
|
{
|
|
$this->personalDetails->photo = $path;
|
|
}
|
|
elseif($request->has('photo'))
|
|
{
|
|
$s3 = new S3;
|
|
$path = $s3->upload($request->file('photo'),'memberPhoto');
|
|
$this->personalDetails->photo = $path;
|
|
}
|
|
else
|
|
{
|
|
$path = $this->personalDetails->photo;
|
|
}
|
|
|
|
if ($this->personalDetails->save())
|
|
{
|
|
return $path;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function sync_cyware($id, $data)
|
|
{
|
|
$this->personalDetails = PersonalDetails::where('pd_id',$id)->first();
|
|
|
|
$this->personalDetails->firstname = $data->first_name;
|
|
$this->personalDetails->lastname = $data->last_name;
|
|
$this->personalDetails->birthdate = $data->birthdate;
|
|
|
|
if ($this->personalDetails->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
public function update_non_cyware_synced($pd_id, $data)
|
|
{
|
|
$this->personalDetails = PersonalDetails::where('pd_id',$pd_id)->first();
|
|
|
|
$this->personalDetails->firstname = $data->firstname;
|
|
$this->personalDetails->lastname = $data->lastname;
|
|
$this->personalDetails->birthdate = $data->birthdate;
|
|
|
|
if ($this->personalDetails->save())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
public function store_signup($data)
|
|
{
|
|
$this->personalDetails = new PersonalDetails;
|
|
|
|
$uuid = new UuidHelper;
|
|
$this->personalDetails->pd_uuid = $uuid->generate_uuid1();
|
|
|
|
$this->personalDetails->firstname = $data->firstname;
|
|
$this->personalDetails->lastname = $data->lastname;
|
|
$this->personalDetails->birthdate = $data->birthdate;
|
|
$this->personalDetails->middlename = '';
|
|
$this->personalDetails->photo = '';
|
|
$this->personalDetails->address = '';
|
|
|
|
if ($this->personalDetails->save())
|
|
{
|
|
return $this->personalDetails->pd_id;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|