<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Contracts\Auth\Authenticatable;

class CoiUsers extends Model
{
  use SoftDeletes;
    protected $table = "coi_users";

    protected $fillable=[
      'name',
      'email',
      'phone',
      'dept',
      'division',
      'level',
      'employment_status',
      'declared_at',
      'declared_date',
      'a1_declarable_interest',
      'a1_directorship',
      'a1_dominant',
      'a1_trusteeship',
      'a1_participation',
      'a1_other_business',
      'a1_any_other_business',
      'a1_any_other_interest',
      'a1_name_of_entity',
      'a1_additional_information',
      'a2_declarable_interest',
      'a2_nature_of_personal_business_interest',
      'a2_corporate_or_business_name',
      'a2_decisions',
      'a2_independence_and_objectivity',
      'a2_additional_information_2',
      'a3_declarable_interest',
      'a3_personal_financial_interests',
      'a3_value_personal_financial_interests',
      'a3_professional_duties',
      'a3_mtn_business_activities',
      'a3_personal_financial_interests_conflict',
      'a3_additional_information_3',
      'a4_declarable_interest',
      'a4_nature_of_contracts',
      'a4_personal_gain_received',
      'a4_parties_involved',
      'a4_additional_information_4',
      'a5_declarable_interest',
      'a5_nature_of_the_influence',
      'a5_position_or_authority',
      'a5_close_associate',
      'a5_name_person_or_entity',
      'a5_authority_to_influence',
      'a5_additional_information_5',
      'a6_declarable_interest',
      'a6_solicited_investment',
      'a6_business_solicited_investment',
      'a6_nature_of_soliciting_business',
      'a6_additional_information_6',
      'a7_declarable_interest',
      'a7_proper_authorisation',
      'a7_value_or_nature_of_personal_gain',
      'a7_information_was_used',
      'a7_additional_information_7',
      'a8_declarable_interest',
      'a8_commercial_activities',
      'a8_sourced_or_promoted',
      'a8_third_parties_involved',
      'a8_commercial_activities_gain',
      'a8_additional_information_8',
      'a9_declarable_interest',
      'a9_whom_you_solicited',
      'a9_competition_with_MTN',
      'a9_additional_information_9',
      'a10_declarable_interest',
      'a10_coi_conduct',
      'a10_conflict_motivation',
      'a10_additional_information_10',
      'a11_declarable_interest',
      'a11_nature_of_declarable_interest',
      'a11_influence_your_judgement',
      'a11_additional_information_11',
      'a12_declarable_interest',
      'a12_decision_making_process',
      'a12_recuse',
      'a12_successful_in_securing_employment',
      'a12_additional_information_12',
      'a13_declarable_interest',
      'a13_business_relationship',
      'a13_enter_such_business_relationships',
      'a13_additional_information_13',
      'a14_declarable_interest',
      'a14_details_of_the_situation',
      'a14_additional_information_14',
      'a15_declarable_interest',
      'a15_employees_involved',
      'a15_relevant_details',
      'a15_additional_information_15',
      'a16_declarable_interest',
      'a16_momo_operate',
      'a16_momo_family',
      'a16_confidential_corporate_information',
      'a16_financial_benefit_family',
      'a16_additional_information_16',
      'a17_declarable_interest_17',
      'a17_dealer_or_dealer',
      'a17_appointed_director',
      'a18_declarable_interest_18',
      'a18_nature_of_trading',
      'a18_number_of_shares',
      'a18_buyer_or_seller',
      'a18_date_trading',
      'a19_declarable_interest_19',
      'a19_subs_shareholder',
      'a19_the_nature_of_relationship',
      'a20_nature_of_interest',
      'a20_particulars',
      'a20_declarable_interest_20',
      'a20_details',
      'status',
      'coi_status',
      'conflict',
      'momoconflict',
      'id_director',
      'starttime',
      'can_login',
      'a1_directorship_name_of_business',

      'a1_directorship_nature_of_business',

      'a1_dominant_name_of_business',

      'a1_dominant_nature_of_business',

      'a1_trusteeship_name_of_business',

      'a1_trusteeship_nature_of_business',
      'a16_date_of_establishment_of_legacy_business'

    ];


    public function log($message) {
            $message = ucwords($message);
            AuditTrail::query()->create([
                'userid'   => $this->id,
                'name' => empty($this->name) ? $this->email : $this->name,
                'date'      => \Carbon\Carbon::now()->toDateTimeString(),
                'activity'  => $this->name. ": {$message}"
            ]);
        }



        public function assess(){
          return $this->hasMany('App\Assess','userid','id');
        }

        public function coeForm()
        {
            return $this->hasOne(CoeForm::class, 'coi_user_id');
        }
}
