Rubenwouters\CrmLauncher\Models\CaseOverview::createCase PHP Method

createCase() public method

Inserts new case in DB
public createCase ( string $type, array $message, object $contact ) : object
$type string
$message array
$contact object
return object
    public function createCase($type, $message, $contact)
    {
        $case = new CaseOverview();
        $case->contact_id = $contact->id;
        if ($type == 'twitter_mention') {
            $case->origin = "Twitter mention";
        } else {
            if ($type == 'twitter_direct') {
                $case->origin = "Twitter direct";
            } else {
                if ($type == 'facebook_post') {
                    $case->origin = "Facebook post";
                } else {
                    if ($type == "facebook_private") {
                        $case->origin = 'Facebook private';
                    }
                }
            }
        }
        $case->status = 0;
        $case->save();
        return $case;
    }

Usage Example

 /**
  * Get the messages out of a conversation
  * @param  object $conversation
  * @param  datetime $newest
  * @return void
  */
 private function collectPrivateMessages($conversation, $newest)
 {
     $messages = $this->facebookContent->fetchPrivateMessages($conversation);
     foreach ($messages->data as $key => $result) {
         if ($result->from->id != config('crm-launcher.facebook_credentials.facebook_page_id') && changeFbDateFormat($result->created_time) > $newest) {
             $contact = $this->contact->createContact('facebook', $result);
             if ($this->case->PrivateFbMessages($contact)->exists()) {
                 $case = $this->case->PrivateFbMessages($contact)->first();
                 $case->origin = 'Facebook private';
                 $case->contact_id = $contact->id;
                 $case->status = 0;
                 $case->save();
             } else {
                 $case = $this->case->createCase('facebook_private', $result, $contact);
             }
             $message = new Message();
             $message->contact_id = $contact->id;
             $message->fb_conversation_id = $conversation->id;
             $message->fb_private_id = $result->id;
             $message->case_id = $case->id;
             $message->message = $result->message;
             $message->post_date = changeFbDateFormat($result->created_time);
             $message->save();
             $this->media->handleMedia($message->id, $result, 'facebook_comment');
         }
     }
 }