diff --git a/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php b/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php index 609970f3..efd60981 100644 --- a/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php +++ b/app/Classes/Modules/Accounts/ControllersLogic/CreateCustomerLogic.php @@ -159,7 +159,9 @@ class CreateCustomerLogic extends AbstractControllerLogic // $this->createPerfexCRMLeadProcessor->execute($request); $createLeadPerfexCRMObject = new CreateLeadPerfexCRMObject( $request->input('name'), - $request->input('email') + $request->input('email'), + $request->input('phone'), + $request->input('type') === CompanyType::COMPANY_BUSINESS ? $request->input('company_name') : $request->input('name') ); CreatePerfexCRMCustomer::dispatch($createLeadPerfexCRMObject); } diff --git a/app/Classes/Modules/PerfexCRM/DataTransferObjects/CreateLeadPerfexCRMObject.php b/app/Classes/Modules/PerfexCRM/DataTransferObjects/CreateLeadPerfexCRMObject.php index fead15ec..ed11fe67 100644 --- a/app/Classes/Modules/PerfexCRM/DataTransferObjects/CreateLeadPerfexCRMObject.php +++ b/app/Classes/Modules/PerfexCRM/DataTransferObjects/CreateLeadPerfexCRMObject.php @@ -13,12 +13,19 @@ class CreateLeadPerfexCRMObject implements DataTransferObject /** @var string */ private $email; + /** @var string */ + private $phone; - public function __construct(string $name, string $email) + /** @var string */ + private $companyName; + + public function __construct(string $name, string $email, string $phone, string $companyName) { $this->name = $name; $this->email = $email; + $this->phone = $phone; + $this->companyName = $companyName; } /** @@ -37,4 +44,20 @@ class CreateLeadPerfexCRMObject implements DataTransferObject return $this->email; } + /** + * @return string + */ + public function getPhone(): string + { + return $this->phone; + } + + /** + * @return string + */ + public function getCompanyName(): string + { + return $this->companyName; + } + } diff --git a/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMLeadProcessor.php b/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMLeadProcessor.php index 81c90335..5a0bc6dc 100644 --- a/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMLeadProcessor.php +++ b/app/Classes/Modules/PerfexCRM/Processors/CreatePerfexCRMLeadProcessor.php @@ -30,7 +30,7 @@ class CreatePerfexCRMLeadProcessor * @throws \App\Classes\Exceptions\MalformedRequestException */ public function execute(CreateLeadPerfexCRMObject $createLeadPerfexCRMObject) { - return $this->createsPerfexCRMLead->execute($createLeadPerfexCRMObject->getName(), $createLeadPerfexCRMObject->getEmail()); + return $this->createsPerfexCRMLead->execute($createLeadPerfexCRMObject); } } diff --git a/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMLead.php b/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMLead.php index 1beaeb12..10cf185d 100644 --- a/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMLead.php +++ b/app/Classes/Modules/PerfexCRM/Services/CreatesPerfexCRMLead.php @@ -5,20 +5,22 @@ namespace App\Classes\Modules\PerfexCRM\Services; use Illuminate\Support\Facades\Http; use App\Classes\Exceptions\MalformedRequestException; use Illuminate\Support\Facades\Log; +use App\Classes\Modules\PerfexCRM\DataTransferObjects\CreateLeadPerfexCRMObject; class CreatesPerfexCRMLead { /** - * @param string $name - * @param string $email + * @param CreateLeadPerfexCRMObject $createLeadPerfexCRMObject * @return null|object * @throws MalformedRequestException */ - public function execute(string $name, string $email) { + public function execute(CreateLeadPerfexCRMObject $createLeadPerfexCRMObject) { try{ $data = [ - 'name' => $name, - 'email' => $email, + 'name' => $createLeadPerfexCRMObject->getName(), + 'email' => $createLeadPerfexCRMObject->getEmail(), + 'phonenumber' => $createLeadPerfexCRMObject->getPhone(), + 'company' => $createLeadPerfexCRMObject->getCompanyName(), 'source' => 2, //1: Exchange, 2: Shipping Portal 'status' => 2 //2: Lead, 1: Customer ];