{$entity}(); } } public function bank_transaction() { $entity_type = 'bank_transaction'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); foreach($data as $key => $value) { $data[$key]['transaction.bank_integration_id'] = $this->decodePrimaryKey($this->request['bank_integration_id']); } } if (empty($data)) { $this->entity_count['bank_transactions'] = 0; return; } $this->request_name = StoreBankTransactionRequest::class; $this->repository_name = BankTransactionRepository::class; $this->factory_name = BankTransactionFactory::class; $this->repository = app()->make($this->repository_name); $this->transformer = new BankTransformer($this->company); $bank_transaction_count = $this->ingest($data, $entity_type); $this->entity_count['bank_transactions'] = $bank_transaction_count; nlog("bank matching co id = {$this->company->id}"); (new BankMatchingService($this->company->id, $this->company->db))->handle(); } public function client() { $entity_type = 'client'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['clients'] = 0; return; } $this->request_name = StoreClientRequest::class; $this->repository_name = ClientRepository::class; $this->factory_name = ClientFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new ClientTransformer($this->company); $client_count = $this->ingest($data, $entity_type); $this->entity_count['clients'] = $client_count; } public function product() { $entity_type = 'product'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['products'] = 0; return; } $this->request_name = StoreProductRequest::class; $this->repository_name = ProductRepository::class; $this->factory_name = ProductFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new ProductTransformer($this->company); $product_count = $this->ingestProducts($data, $entity_type); $this->entity_count['products'] = $product_count; } public function invoice() { $entity_type = 'invoice'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['invoices'] = 0; return; } $this->request_name = StoreInvoiceRequest::class; $this->repository_name = InvoiceRepository::class; $this->factory_name = InvoiceFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new InvoiceTransformer($this->company); $invoice_count = $this->ingestInvoices($data, 'invoice.number'); $this->entity_count['invoices'] = $invoice_count; } public function quote() { $entity_type = 'quote'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['quotes'] = 0; return; } $this->request_name = StoreQuoteRequest::class; $this->repository_name = QuoteRepository::class; $this->factory_name = QuoteFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new QuoteTransformer($this->company); $quote_count = $this->ingestQuotes($data, 'quote.number'); $this->entity_count['quotes'] = $quote_count; } public function payment() { $entity_type = 'payment'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['payments'] = 0; return; } $this->request_name = StorePaymentRequest::class; $this->repository_name = PaymentRepository::class; $this->factory_name = PaymentFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new PaymentTransformer($this->company); $payment_count = $this->ingest($data, $entity_type); $this->entity_count['payments'] = $payment_count; } public function vendor() { $entity_type = 'vendor'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['vendors'] = 0; return; } $this->request_name = StoreVendorRequest::class; $this->repository_name = VendorRepository::class; $this->factory_name = VendorFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new VendorTransformer($this->company); $vendor_count = $this->ingest($data, $entity_type); $this->entity_count['vendors'] = $vendor_count; } public function expense() { $entity_type = 'expense'; $data = $this->getCsvData($entity_type); if (is_array($data)) { $data = $this->preTransformCsv($data, $entity_type); } if (empty($data)) { $this->entity_count['expenses'] = 0; return; } $this->request_name = StoreExpenseRequest::class; $this->repository_name = ExpenseRepository::class; $this->factory_name = ExpenseFactory::class; $this->repository = app()->make($this->repository_name); $this->repository->import_mode = true; $this->transformer = new ExpenseTransformer($this->company); $expense_count = $this->ingest($data, $entity_type); $this->entity_count['expenses'] = $expense_count; } public function task() { } public function transform(array $data) { } }