createsDocument = $createsDocument; $this->createsFiles = $createsFiles; } /** * @throws MalformedRequestException */ public function execute(Transaction $invoice_transaction) { $view = 'pages.pdfs.sales_order'; $companyModule = $invoice_transaction->owner->owner->companyModule; $user = $companyModule->employees()->first(); $brn = $companyModule->company->documents->where('document_type', DocumentType::SSM_REGISTRATION)->first(); $documentDate = $invoice_transaction->created_at; $documentIdentifierPrefix = 'S/O No: '; $documentIdentifier = 'SO-'.$invoice_transaction->bill_no; $transaction_invoice_pdf = LaravelMpdf::loadView($view, ['invoice_transaction' => $invoice_transaction, 'brn' => $brn, 'document_date' => $documentDate, 'document_identifier' => $documentIdentifier, 'document_identifier_prefix' => $documentIdentifierPrefix]); $document_object = new DocumentObject( DocumentType::SALES_ORDER, [chunk_split('data:application/pdf;base64,'.base64_encode($transaction_invoice_pdf->output()))], '', ApprovalStatus::COMPLETED, 'sales_order' ); /** @var Document $document */ $document =$this->createsDocument->execute($invoice_transaction, $document_object); $this->createsFiles->execute($document, $document_object); } }