send email for freight order bid
This commit is contained in:
parent
701e4fdce5
commit
21216ab52f
2 changed files with 51 additions and 3 deletions
|
|
@ -4,6 +4,8 @@ namespace FreightQuote\FreightOrder\UseCases;
|
|||
|
||||
use FreightQuote\Carrier\Carrier;
|
||||
use FreightQuote\Carrier\CarrierRepository;
|
||||
use FreightQuote\Email\Email;
|
||||
use FreightQuote\Email\Emailer;
|
||||
use FreightQuote\FreightOrder\FreightOrderRepository;
|
||||
use FreightQuote\FreightOrder\FreightOrder;
|
||||
|
||||
|
|
@ -12,6 +14,7 @@ class CreateFreightOrder
|
|||
public function __construct(
|
||||
private FreightOrderRepository $freightOrderRepo,
|
||||
private CarrierRepository $carrierRepo,
|
||||
private Emailer $emailer,
|
||||
) {}
|
||||
|
||||
public function execute(
|
||||
|
|
@ -20,7 +23,7 @@ class CreateFreightOrder
|
|||
$savedFreightOrder = $this->saveFreightOrder($dto);
|
||||
$this->handleCarrierActions(
|
||||
$dto->carrierIds,
|
||||
$savedFreightOrder->getId()
|
||||
$savedFreightOrder,
|
||||
);
|
||||
|
||||
return $savedFreightOrder;
|
||||
|
|
@ -31,14 +34,27 @@ class CreateFreightOrder
|
|||
*/
|
||||
private function handleCarrierActions(
|
||||
array $carrierIds,
|
||||
int $freightOrderId
|
||||
FreightOrder $freightOrder
|
||||
): void {
|
||||
foreach ($carrierIds as $carrierId) {
|
||||
$carrier = $this->carrierRepo->find($carrierId);
|
||||
$this->updateCarrierOrderIds($carrier, $freightOrderId);
|
||||
$this->updateCarrierOrderIds($carrier, $freightOrder->getId());
|
||||
$this->sendEmail($carrier->getEmail(), $freightOrder);
|
||||
}
|
||||
}
|
||||
|
||||
private function sendEmail(string $emailAddress, FreightOrder $freightOrder): void
|
||||
{
|
||||
$email = new Email();
|
||||
$email->addRecipient($emailAddress);
|
||||
$email->setSubject('Freight Order Request');
|
||||
$email->setBody('Please fill out your bid at this link xxxxxxx');
|
||||
foreach ($freightOrder->getFileAttachments() as $file) {
|
||||
$email->addAttachment($file);
|
||||
}
|
||||
$this->emailer->send($email);
|
||||
}
|
||||
|
||||
private function updateCarrierOrderIds(
|
||||
Carrier $carrier,
|
||||
int $freightOrderId
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue