From 5934fbcb6c0a0d21b2051f525d1f59b10160ef1d Mon Sep 17 00:00:00 2001 From: Dillon Date: Sat, 11 Mar 2023 19:43:30 +0800 Subject: [PATCH] Add in missing update project function --- .../Processors/UpdatePerfexCRMProcessor.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/Classes/Modules/PerfexCRM/Processors/UpdatePerfexCRMProcessor.php b/app/Classes/Modules/PerfexCRM/Processors/UpdatePerfexCRMProcessor.php index 03900ce2..324aeea8 100644 --- a/app/Classes/Modules/PerfexCRM/Processors/UpdatePerfexCRMProcessor.php +++ b/app/Classes/Modules/PerfexCRM/Processors/UpdatePerfexCRMProcessor.php @@ -12,10 +12,12 @@ use App\Classes\Modules\PerfexCRM\Services\FetchesPerfexCRMTask; use App\Classes\Modules\PerfexCRM\Services\CreatesPerfexCRMCustomer; use App\Classes\Modules\PerfexCRM\Services\CreatesPerfexCRMCustomerContact; use App\Classes\Modules\PerfexCRM\Services\UpdatesPerfexCRMCustomer; +use App\Classes\Modules\PerfexCRM\Services\UpdatesPerfexCRMProject; use App\Classes\Modules\PerfexCRM\DataTransferObjects\CustomerContactObject; use App\Classes\Exceptions\MalformedRequestException; use App\Classes\Modules\PerfexCRM\DataTransferObjects\UpdatePerfexCRMObject; use App\Classes\ValueObjects\Constants\PerfexCRMTaskStatus; +use App\Classes\ValueObjects\Constants\PerfexCRMProjectStatus; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Log; use Illuminate\Http\Request; @@ -55,6 +57,9 @@ class UpdatePerfexCRMProcessor /** @var UpdatesPerfexCRMCustomer */ private $updatesPerfexCRMCustomer; + /** @var UpdatesPerfexCRMProject */ + private $updatesPerfexCRMProject; + /** * @param ConvertsPerfexCRMLeadToCustomer $convertsPerfexCRMLeadToCustomer * @param CreatesPerfexCRMCustomerProject $createsPerfexCRMCustomerProject @@ -66,6 +71,7 @@ class UpdatePerfexCRMProcessor * @param CreatesPerfexCRMCustomer $createsPerfexCRMCustomer * @param CreatesPerfexCRMCustomerContact $createsPerfexCRMCustomerContact * @param UpdatesPerfexCRMCustomer $updatesPerfexCRMCustomer + * @param UpdatesPerfexCRMProject $updatesPerfexCRMProject */ public function __construct(ConvertsPerfexCRMLeadToCustomer $convertsPerfexCRMLeadToCustomer, CreatesPerfexCRMCustomerProject $createsPerfexCRMCustomerProject, @@ -76,7 +82,8 @@ class UpdatePerfexCRMProcessor FetchesPerfexCRMTask $fetchesPerfexCRMTask, CreatesPerfexCRMCustomer $createsPerfexCRMCustomer, CreatesPerfexCRMCustomerContact $createsPerfexCRMCustomerContact, - UpdatesPerfexCRMCustomer $updatesPerfexCRMCustomer) + UpdatesPerfexCRMCustomer $updatesPerfexCRMCustomer, + UpdatesPerfexCRMProject $updatesPerfexCRMProject) { $this->convertsPerfexCRMLeadToCustomer = $convertsPerfexCRMLeadToCustomer; $this->createsPerfexCRMCustomerProject = $createsPerfexCRMCustomerProject; @@ -88,6 +95,7 @@ class UpdatePerfexCRMProcessor $this->createsPerfexCRMCustomer = $createsPerfexCRMCustomer; $this->createsPerfexCRMCustomerContact = $createsPerfexCRMCustomerContact; $this->updatesPerfexCRMCustomer = $updatesPerfexCRMCustomer; + $this->updatesPerfexCRMProject = $updatesPerfexCRMProject; } /** @@ -151,7 +159,13 @@ class UpdatePerfexCRMProcessor $projectId = $result->payload['project_id']; } else{ - $projectId = $this->fetchesPerfexCRMProject->execute($updatePerfexCRMObject->getProjectName(), $crmClientId)->id; + $project = $this->fetchesPerfexCRMProject->execute($updatePerfexCRMObject->getProjectName(), $crmClientId); + $projectId = $project->id; + //if the project status is anything but PerfexCRMProjectStatus::NOT_STARTED, update the project + if($updatePerfexCRMObject->getProjectStatus() != PerfexCRMProjectStatus::NOT_STARTED) + { + $this->updatesPerfexCRMProject->execute($project, $updatePerfexCRMObject->getProjectStatus()); + } } $tasks = $updatePerfexCRMObject->getTaskNames();