/**
  * Given a record, this returns the record as a "row"
  * @param RecordEntity $record
  * @return array|null
  */
 private function getRecordDataAsArray($record)
 {
     try {
         $name = Person::getNameAsArray($record->getPerson());
         $essential = Record::getFormattedFields($record, true);
         $non_essential = Record::getFormattedFields($record, false);
         $activityNames = Person::getActivityNames($record->getPerson());
         $formattedNames = Data::concatMultiple($activityNames);
         $strings = $name;
         $strings = array_merge($strings, Data::formattedDataArrayToString($essential));
         $strings = array_merge($strings, Data::formattedDataArrayToString($non_essential));
         $strings = array_merge($strings, [$formattedNames]);
         return $strings;
     } catch (Exception $e) {
         return null;
     }
 }
 /**
  * Returns record data for viewing
  *
  * @since 0.0.3
  */
 public function actionRecordView()
 {
     $data = $this->parseRequest(['id' => 0]);
     $response['error'] = null;
     /**
      * @var RecordEntity $record
      */
     if ($data['id'] > 0 && ($record = Record::getValidRecordWithId($data['id'])) != null) {
         Record::prepare($record);
         $response['essential'] = Record::getFormattedData($record);
         $fieldsViewData = Record::getFormattedFields($record, false);
         $response['data'] = $fieldsViewData;
     } else {
         $response['error'] = ['id' => 1, 'description' => 'The supplied ID is invalid!'];
     }
     echo json_encode($response);
 }