protected function getApplicationData(SubmissionEntity $submission) { $applicationData = new ApplicationData(); $AppReferrer = $submission->getLead()->getReferrer(); $DisplayFields = $this->getDisplayFields($submission); $applicationData->setAppReferrer($AppReferrer); $applicationData->setDisplayFields($DisplayFields); return $applicationData; }
public function getFields(SubmissionEntity $submission, $structure = 'flat') { $result = array(); $lead = $submission->getLead()->getArrayCopy(); $form = $submission->getForm()->getArrayCopy(); $detail = $submission->getDetail()->getArrayCopy(); unset($lead['array_copy']); unset($form['array_copy']); unset($detail['array_copy']); if ($structure == 'flat') { foreach ($lead as $name => $value) { $result[] = "lead[" . $name . "]"; } foreach ($form as $name => $value) { $result[] = "form[" . $name . "]"; } foreach ($detail as $name => $value) { $result[] = "detail[" . $name . "]"; } } else { $result['lead'] = array_keys($lead); $result['form'] = array_keys($form); $result['detail'] = array_keys($detail); } return $result; }
private function update(SubmissionEntity $submission, $where = null) { $lead = $submission->getLead(); $leadid = $lead->getId(); $formData = $this->hydrators['form']->extractFromSubmission($submission); $formEntity = $this->findForm($submission->getLead(), 'object'); // Form Entity if ($formEntity) { // Form already exists for this lead // No need to create one... but set Form ID $formid = $formEntity->getId(); $lead = $lead->setFormid($formid); } else { // Insert new Form $submission->setForm($submission->getForm()->setId(null)); $submission->setForm($submission->getForm()->setForm($lead->getFormname())); $submission->setForm($submission->getForm()->setCompanyid($lead->getCompanyid())); $submission->setForm($submission->getForm()->setCompany($lead->getCompany())); $formData = $this->hydrators['form']->extractFromSubmission($submission); $this->tableGateways['form']->insert($formData); // getting last inserted id $formid = $this->tableGateways['form']->lastinsertvalue; // set last inserted id as lead.formid $lead = $lead->setFormid($formid); } // Lead Entity $leadData = $this->hydrators['lead']->extract($lead); $this->tableGateways['lead']->update($leadData, $where); return $leadid; }