<?php

namespace App;

use App\Opt\CompanyTrait;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Http\Request;

class Company extends Model
{
    use SoftDeletes;

    protected $fillable =
        [

            'name',
            'user_id',
            'company_status_id',
            'date_of_incorporation' ,
            'legal_status' ,
            'nature_of_business' ,
            'location_in_other_countries' ,
            'postal_address' ,
            'physical_address' ,
            'company_phone_number' ,
            'business_document' ,
            'sender_id_document' ,
            'contact_person' ,
            'contact_person_designation' ,
            'contact_person_phone' ,
            'contact_person_email',
            'contact_person_id',
            'mobile_money_number',

        ];

    public function users(){

        return $this->hasOne(User::class);

    }

    public function trial()
    {
        return $this->hasOne(CompanyTrialMode::class);
    }

    public function putToTrialMode(array $data)
    {
        $array['company_id'] = $this->id;
        $array['trial'] = true;
        CompanyTrialMode::query()->updateOrCreate($array);
    }


    public function email()
    {
        return $this->belongsTo(CompanyEmail::class);
    }

    public function directors()
    {
        return $this->hasMany(CompanyDirector::class);
    }

    public function company_status()
    {
        return $this->hasOne(CompanyStatus::class);
    }


    public function company_statuses()
    {
        return $this->belongsTo(CompanyStatus::class);
    }

    public function status()
    {
        return $this->has(CompanyStatus::class);
    }
}
