<?php

class Refrence extends \Eloquent {

	use SoftDeletingTrait;

	protected $guarded		 = array();

	public static function boot() {
		parent::boot();

		Refrence::saving(function ($refrence) {
			$lastRefrence = Refrence::wherePartnerId($refrence->partner_id)->orderBy('id', 'DESC')->first();
			if ($lastRefrence && $lastRefrence->status != $refrence->status) {
				$refrence->useful = 1;
			}
			$lastRefrence = Refrence::whereSenderUserId($refrence->sender_user_id)->whereRaw(DB::raw('DATE(created_at)=DATE(NOW())'))->orderBy('id', 'DESC')->first(array(DB::raw('TIME_TO_SEC(TIMEDIFF(NOW(),created_at)) as timediff')));
			if ($lastRefrence && !$refrence->timediff && $lastRefrence->timediff) {
				$refrence->timediff = $lastRefrence->timediff;
			}
			return true;
		});
	}

	public function partner() {
		return $this->belongsTo('Partner')->remember(60);
	}

	public function project() {
		return $this->belongsTo('Project')->remember(60);
	}

	public function sender() {
		return $this->belongsTo('User', 'sender_user_id')->withTrashed()->remember(60);
	}

	public function reciver() {
		return $this->belongsTo('User', 'reciver_user_id')->withTrashed()->remember(60);
	}

	public function mlsitcall() {
		return $this->belongsTo('Mlsitcall');
	}

}
