<?php

namespace App\Listeners;

use App\Events\AdminCompanyEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Modules\Backend\Entities\Company;
use Modules\Backend\Entities\CompanyUser;
use App\Messaging;
use App\Setting;

class AdminCompanyListener
{
    /**
     * Create the event listener.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Handle the event.
     *
     * @param  AdminCompanyEvent  $event
     * @return void
     */
    public function handle(AdminCompanyEvent $event)
    {
        //
         
          $model=$event->company;
          $status=$model->company_status;
          $name=$event->company->company_name;
          $reason=$event->company->reason;
          if($status=="Rejected" || $status=="Suspended")
          {
            $subject="Application Suspended";
            $message=Setting::where(['key'=>'Company Suspend/Reject Email Template'])->first();
            $origal_message=$message->value;
            $replaceble=array("{company_name}","{action}","{reason}");
            $replace=array($name, $status,$reason);
            $message = str_replace($replaceble, $replace, $origal_message);
            $messaged=$message;
          }
          if($status=="Approved")
          {
             $subject="Application Approved";
             $message=Setting::where(['key'=>'Company Approve/Reinstate Message Template'])->first();
             $origal_message=$message->value;
             $replaceble=array("{company_name}","{action}");
             $replace=array($name, $status);
             $message = str_replace($replaceble, $replace, $origal_message);
             $messaged=$message;
             
          }
          $message=new Messaging();
          $message->sender_id=0;
          $message->receiver_id=$model->user_id;
          $message->content=$messaged;
          $message->flag="notification";
          $message->subject=$subject;
          $message->key=str_random(8);
          $message->save();
          return true;
      }
}
