<?php
namespace Incoviba\nuevo\Inmobiliaria;

use Incoviba\Common\Alias\NewModel;
use Incoviba\nuevo\Common\Direccion;

/**
 * 
 * @author Aldarien
 * @property int id
 * @property int rut
 * @property char dv
 * @property string razon_social
 * @property string nombre
 * @property Representante representante_rut
 * @property int telefono
 * @property string correo
 * @property string giro
 * @property Direccion direccion_id
 * @property TipoAgente tipo_agente_id
 *
 */
class Agente extends NewModel
{
	protected static $_table = 'agentes';
    //
    public function representante()
    {
    	return $this->belongsTo(Representante::class, 'representante_rut', 'rut')->findOne();
    }
    public function direccion()
    {
    	return $this->belongsTo(Direccion::class, 'direccion_id')->findOne();
    }
    public function tipo()
    {
    	return $this->belongsTo(TipoAgente::class, 'tipo_agente_id')->findOne();
    }
    public function contratos()
    {
    	return $this->hasMany(Contrato::class, 'agente_id')->findMany();
    }
    public function comision($inmobiliaria_rut)
    {
    	return $this->hasMany(Contrato::class, 'agente_id')->where('inmobiliaria_rut', $inmobiliaria_rut)->sum('valor');
    }
}
