diff --git a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php index 56b8fff1..79cd9d79 100644 --- a/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php +++ b/app/Classes/Modules/Bookings/ControllersLogic/CreateBookingPaymentLogic.php @@ -93,6 +93,18 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic /** @var CreateReceiptVoucherTransactionProcessor */ private $createReceiptVoucherTransactionProcessor; + /** @var CanPassOrderDurationLimitRule */ + protected $canPassOrderDurationLimitRule; + + /** @var CanPassEInvoicePromptedRule */ + protected $canPassEInvoicePromptedRule; + + /** @var CanPassTINRule */ + protected $canPassTINRule; + + /** @var CanPassPurchaseOrderRule */ + protected $canPassPurchaseOrderRule; + /** * CreateBookingPaymentLogic constructor. * @param FetchesBookingQuotation $fetchBookingQuotation @@ -109,8 +121,12 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic * @param CalculatesBookingRefundAmount $calculatesBookingRefundAmount * @param RuleEvaluator $ruleEvaluator * @param CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule + * @param CanPassTINRule $canPassTINRule + * @param CanPassPurchaseOrderRule $canPassPurchaseOrderRule */ - public function __construct(FetchesBookingQuotation $fetchBookingQuotation, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CalculatesBookingOutstanding $calculatesBookingOutstanding, CreatesBillplzBill $createsBillplzBill, UpdatesWalletBalance $updatesWalletBalance, UpdatesTransactionStatus $updatesTransactionStatus, CreateCashBackTransactionProcessor $createCashBackTransactionProcessor, RecalculatesWalletBalance $recalculatesWalletBalance, BookingToVoucherifyProcessor $bookingToVoucherifyProcessor, CalculatesBookingRefundAmount $calculatesBookingRefundAmount, RuleEvaluator $ruleEvaluator, CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor) + public function __construct(FetchesBookingQuotation $fetchBookingQuotation, FetchesCompanyPaymentAttemptLimit $fetchesCompanyPaymentAttemptLimit, GeneratesTransactionBillNumber $generatesTransactionBillNumber, CreatesTransaction $createsTransaction, CalculatesBookingOutstanding $calculatesBookingOutstanding, CreatesBillplzBill $createsBillplzBill, UpdatesWalletBalance $updatesWalletBalance, UpdatesTransactionStatus $updatesTransactionStatus, CreateCashBackTransactionProcessor $createCashBackTransactionProcessor, RecalculatesWalletBalance $recalculatesWalletBalance, BookingToVoucherifyProcessor $bookingToVoucherifyProcessor, CalculatesBookingRefundAmount $calculatesBookingRefundAmount, RuleEvaluator $ruleEvaluator, CreateReceiptVoucherTransactionProcessor $createReceiptVoucherTransactionProcessor, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassTINRule $canPassTINRule, CanPassPurchaseOrderRule $canPassPurchaseOrderRule) { $this->fetchBookingQuotation = $fetchBookingQuotation; $this->fetchesCompanyPaymentAttemptLimit = $fetchesCompanyPaymentAttemptLimit; @@ -126,6 +142,10 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic $this->calculatesBookingRefundAmount = $calculatesBookingRefundAmount; $this->ruleEvaluator = $ruleEvaluator; $this->createReceiptVoucherTransactionProcessor = $createReceiptVoucherTransactionProcessor; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassTINRule = $canPassTINRule; + $this->canPassPurchaseOrderRule = $canPassPurchaseOrderRule; } /** @@ -138,10 +158,10 @@ class CreateBookingPaymentLogic extends AbstractControllerLogic { $dto = new ConfirmBookingDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassTINRule::class), - App()->make(CanPassPurchaseOrderRule::class), + $this->canPassOrderDurationLimitRule, + $this->canPassEInvoicePromptedRule, + $this->canPassTINRule, + $this->canPassPurchaseOrderRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php index 3b7006ae..eb38294b 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyEInvoiceInfoLogic.php @@ -52,6 +52,9 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic /** @var UpdatesAddressMetadata */ private $updatesAddressMetadata; + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + /** * UpdateCompanyEInvoiceInfoLogic constructor. * @param CanCreateAddress $canCreateAddress @@ -61,8 +64,9 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic * @param RuleEvaluator $ruleEvaluator; * @param UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo; * @param UpdatesAddressMetadata $updatesAddressMetadata + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule */ - public function __construct(CanCreateAddress $canCreateAddress, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesAddress $createsAddress, RuleEvaluator $ruleEvaluator, UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo, UpdatesAddressMetadata $updatesAddressMetadata) + public function __construct(CanCreateAddress $canCreateAddress, FetchesDistrict $fetchesDistrict, FetchesCompany $fetchesCompany, CreatesAddress $createsAddress, RuleEvaluator $ruleEvaluator, UpdatesCompanyEInvoiceInfo $updatesCompanyEInvoiceInfo, UpdatesAddressMetadata $updatesAddressMetadata, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule) { $this->canCreateAddress = $canCreateAddress; $this->fetchesDistrict = $fetchesDistrict; @@ -71,6 +75,7 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic $this->ruleEvaluator = $ruleEvaluator; $this->updatesCompanyEInvoiceInfo = $updatesCompanyEInvoiceInfo; $this->updatesAddressMetadata = $updatesAddressMetadata; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; } /** @@ -85,7 +90,7 @@ class UpdateCompanyEInvoiceInfoLogic extends AbstractControllerLogic { $dto = new EInvoiceInfoDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassEInvoicePromptedRule::class), + $this->canPassEInvoicePromptedRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php index b2c314d9..9c690686 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckEInvoiceRuleLogic.php @@ -28,12 +28,20 @@ class CheckEInvoiceRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + + /** @var CanPassTINRule */ + private $canPassTINRule; + /** * CheckEInvoiceRuleLogic constructor. */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassTINRule $canPassTINRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassTINRule = $canPassTINRule; } /** @@ -49,8 +57,8 @@ class CheckEInvoiceRuleLogic extends AbstractControllerLogic $dto = new CheckEInvoiceRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassTINRule::class), + $this->canPassEInvoicePromptedRule, + $this->canPassTINRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php index a1c74aee..b6abaf1a 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckPurchaseOrderRuleLogic.php @@ -29,12 +29,30 @@ class CheckPurchaseOrderRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassOrderDurationLimitRule */ + private $canPassOrderDurationLimitRule; + + /** @var CanPassEInvoicePromptedRule */ + private $canPassEInvoicePromptedRule; + + /** @var CanPassPurchaseOrderRule */ + private $canPassPurchaseOrderRule; + + /** * CheckPurchaseOrderRuleLogic constructor. + * @param RuleEvaluator $ruleEvaluator + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule + * @param CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule + * @param CanPassPurchaseOrderRule $canPassPurchaseOrderRule + */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule, CanPassEInvoicePromptedRule $canPassEInvoicePromptedRule, CanPassPurchaseOrderRule $canPassPurchaseOrderRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; + $this->canPassEInvoicePromptedRule = $canPassEInvoicePromptedRule; + $this->canPassPurchaseOrderRule = $canPassPurchaseOrderRule; } /** @@ -50,9 +68,9 @@ class CheckPurchaseOrderRuleLogic extends AbstractControllerLogic $dto = new CheckPurchaseOrderRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), - App()->make(CanPassEInvoicePromptedRule::class), - App()->make(CanPassPurchaseOrderRule::class), + $this->canPassOrderDurationLimitRule, + $this->canPassEInvoicePromptedRule, + $this->canPassPurchaseOrderRule, ], $dto); if ($result->failed()) { diff --git a/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php b/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php index b17d8ed0..a87a00d5 100644 --- a/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php +++ b/app/Classes/Modules/Rules/ControllersLogic/CheckTransferRuleLogic.php @@ -27,12 +27,18 @@ class CheckTransferRuleLogic extends AbstractControllerLogic /** @var RuleEvaluator */ private $ruleEvaluator; + /** @var CanPassOrderDurationLimitRule */ + private $canPassOrderDurationLimitRule; + /** * CheckTransferRuleLogic constructor. + * @param RuleEvaluator $ruleEvaluator + * @param CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule */ - public function __construct(RuleEvaluator $ruleEvaluator) + public function __construct(RuleEvaluator $ruleEvaluator, CanPassOrderDurationLimitRule $canPassOrderDurationLimitRule) { $this->ruleEvaluator = $ruleEvaluator; + $this->canPassOrderDurationLimitRule = $canPassOrderDurationLimitRule; } /** @@ -48,7 +54,7 @@ class CheckTransferRuleLogic extends AbstractControllerLogic $dto = new CheckTransferRuleDTO($request->all()); $result = $this->ruleEvaluator->evaluate([ - App()->make(CanPassOrderDurationLimitRule::class), + $this->canPassOrderDurationLimitRule, ], $dto); if ($result->failed()) {