unioil-loyalty-app/app/Services/PersonalDetailsService.php

184 lines
4.9 KiB
PHP
Executable File

<?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;
}
}
}