<?php

class Tarifa extends AppObjeto {
	
	//Propiedades
	protected $codigo;
	protected $nombre;
	
			
		/* para conectar con bd */
	protected static $_aliasTabla = 'tar';
	protected static $_nombreTabla = 'NTARI';
	protected static $_campoPK = 'CODIGO';
	
	
	// InitMetaDatos

	protected static function initMetaDatos(){
		self::addPropiedadBD('tar', 'CODIGO', 'codigo', self::META_VARCHAR);
		self::addPropiedadBD('tar', 'NOMBRE', 'nombre', self::META_VARCHAR);
	}
	
	// Métodos
	/**
	 * Devuelve los Tarifas filtrados por el origen. 
	 * @param int $origen 
	 * @param int $lang
	 * @return array
	 */
	
	public static function getTarifasPorOrigen($origen, $lang){
		
		$select = self::selectObjeto();
		// filtramos por origen
		$select->joinInner(array('ori_tari'=>'ori_tari'), 'tar.codigo=ori_tari.tarifa_ota', array());
		$select->where('ori_tari.origen_ota = ?',$origen);
		// filtramos por idioma
		$select->joinLeft(array('tari_cond'=>'tari_cond'), 'tar.codigo = tari_cond.ntari and tari_cond.idioma='.$lang, array('condiciones'=>'tari_cond.condiciones'));
		$select->order('nombre');
		$res = self::selectExecute($select);
		return $res;
			
	}

	public static function getTarifasPorDefecto($lang){
	
		$select = self::selectObjeto();
		// filtramos por idioma
		$select->joinLeft(array('tari_cond'=>'tari_cond'), 'tar.codigo = tari_cond.ntari and tari_cond.idioma='.$lang, array('condiciones'=>'tari_cond.condiciones'));
		$select->order('nombre');		
		$res = self::selectExecute($select);
		return $res;
			
	}
	
	
	// Get y Set
	public function getCodigo() {
	    return $this->codigo;
	}
	public function setCodigo($codigo) {
	    $this->codigo = $codigo;
	}
	
	public function getNombre() {
	    return $this->nombre;
	}
	public function setNombre($nombre) {
	    $this->nombre = $nombre;
	}
	
	
}