public function onBeforeDelete()
 {
     parent::onBeforeDelete();
     $deleted = new TypeformSubmission_Deleted();
     $deleted->TypeformID = $this->TypeformID;
     $deleted->ParentID = $this->ParentID;
     $deleted->write();
 }
 public function populateResponses($responses, $target, &$results, $force)
 {
     // assumes comments don't update.
     foreach ($responses as $response) {
         $results['total']++;
         $deleted = TypeformSubmission_Deleted::get()->filter(array('TypeformID' => $response['id'], 'ParentID' => $target->ID));
         if ($deleted->count() > 0 && !$force) {
             continue;
         }
         $existing = TypeformSubmission::get()->filter(array('TypeformID' => $response['id'], 'ParentID' => $target->ID));
         if ($existing->count() > 0) {
             continue;
         } else {
             $results['synced']++;
             // check to make sure it hasn't been deleted
             $submission = TypeformSubmission::create();
             $submission->TypeformID = $response['id'];
             $submission->DateStarted = date("Y-m-d H:i:s", strtotime($response['metadata']['date_land'] . ' UTC'));
             $submission->DateSubmitted = date("Y-m-d H:i:s", strtotime($response['metadata']['date_submit'] . ' UTC'));
             $submission->ParentID = $target->ID;
             $submission->write();
             if (isset($response['answers'])) {
                 foreach ($response['answers'] as $field => $value) {
                     $question = TypeformQuestion::get()->filter(array('Reference' => $field))->first();
                     if (!$question) {
                         $question = TypeformQuestion::create();
                         $question->ParentID = $target->ID;
                         $question->Reference = $reference;
                         $question->write();
                     }
                     $answer = TypeformSubmission_Answer::create();
                     $answer->Label = $question->Title;
                     $answer->QuestionID = $question->ID;
                     $answer->SubmissionID = $submission->ID;
                     $answer->Value = $value;
                     $answer->write();
                 }
             }
             $submission->extend('onAfterAnswersSynced');
         }
     }
 }