/** * Imports the 'CcgAssignment' file. * * @param array $data * * @throws Exception If Failed to save commissioning body assignment */ private function importCcgAssignment(array $data) { $practice = Practice::model()->findByAttributes(array('code' => $data['practice_code'])); $ccg = CommissioningBody::model()->findByAttributes(array('code' => $data['ccg_code'], 'commissioning_body_type_id' => $this->cbtId)); if (!$practice || !$ccg) { return; } $found = false; foreach ($practice->commissioningbodyassigments as $assignment) { if ($assignment->commissioning_body_id == $ccg->id) { $found = true; } else { if ($assignment->commissioning_body->commissioning_body_type_id == $this->cbtId) { if ($assignment->delete() && $this->audit !== 'false') { Audit::add('ProcessHscicDataCommand', 'Assignment Deleted'); } } } } if (!$found) { $assignment = new CommissioningBodyPracticeAssignment(); $assignment->commissioning_body_id = $ccg->id; $assignment->practice_id = $practice->id; if (!$assignment->save()) { throw new Exception('Failed to save commissioning body assignment: ' . print_r($assignment->errors, true)); } if ($this->audit !== 'false') { Audit::add('ProcessHscicDataCommand', 'Assignment Saved'); } } }