<?php if ( ! defined('BASEPATH')) exit('No esta permitido el acceso directo al script');
/*Mauricio García - garmauco@gmail.com, developer@3mas1r.com*/
class Contrato_model extends CI_Model
{
	var $table ="contrato";
	/*Agregar Registro*/
	public function add($empresa,$usuario,$fecha_inicial,$fecha_final,
	$sin_finalizar,$cargo,$asignacion_mensual,$transporte,$estado){
		$arrayDatos = array(
						'empresa' => $empresa,
						'usuario' => $usuario,
						'fecha_inicial' => $fecha_inicial,
						'fecha_final' => $fecha_final,
						'sin_finalizar' => $sin_finalizar,
						'cargo' => $cargo,
						'asignacion_mensual' => strtoupper($asignacion_mensual),
						'transporte' => strtoupper($transporte),
						'estado' => $estado
		);

		$this->db->insert($this->table, $arrayDatos);

	}

	/*eliminar Registro*/
	public function delete($id){
		$this->db->delete($this->table, array('id' => $id));/*Eliminamos datos*/
	}

	/*consulta para obtener los datos segun el id que se envie*/
	public function edit($id){
		$this->db->select("id, empresa, usuario, fecha_inicial, fecha_final,
		sin_finalizar, cargo, asignacion_mensual, transporte, estado");
		$this->db->from($this->table)->where('id', $id);
		$query = $this->db->get();

		if ($query->num_rows() > 0){
			return $query->result();
		}
	}


	/*Compara que el nombre no este registrado*/
	public function contrato_duplicate($id=NULL, $nro_contrato){
		if($id == NULL){/*action add*/
			$query = $this->db->get_where($this->table, array('nro_contrato' => $nro_contrato));
			if ($query->num_rows() > 0) {
	  		// Mostrar error si la combinación de datos ya existe en la base de datos
				return TRUE;
			} else {
			  // Actualizar
				return FALSE;
			}
		}
		else{/*action update*/
			$queryVal = $this->db->where('id', $id)->get($this->table);
	        $row =  $queryVal->row();
	        $contratoForm = $nro_contrato;
	        $contratoDB = $row->nro_contrato;
	        /*comparamos que la combinación nombre + número a Actualizar sea diferente al que tiene registrado*/
	        if ($contratoDB !== $contratoForm){
				$query = $this->db->get_where($this->table, array('nro_contrato' => $nro_contrato));
				if ($query->num_rows() > 0) {
		  		// Mostrar error si la combinación de datos ya existe en la base de datos
					return TRUE;
				} else {
				  // Actualizar
					return FALSE;
				}
			}
			else{
				// Actualizar
				return FALSE;
			}
		}
	}


	/*Consulta para obetener datos de un Registro ->id*/
	public function get($id)
	{
		$this->db->where('id', $id);
        $query = $this->db->get($this->table);

        return $query->row();
	}

	/*Consulta para obtener datos de todos los profesores*/
	public function get_all()
	{
		$this->db->select('c.id, c.estado, e.nombre AS n_empresa, CONCAT(u.apellido, " ", u.nombre) AS n_usuario', FALSE);
		$this->db->from('contrato c');
		$this->db->join('empresa e', 'e.id = c.empresa', 'INNER');
		$this->db->join('usuario u', 'u.id = c.usuario', 'INNER');
		$query = $this->db->get();

		return $query->result();
		echo json_encode($query->result());
	}

	/*Actualizar datos del registro*/
	public function update($id, $empresa,$usuario,$fecha_inicial,$fecha_final,
	$sin_finalizar,$cargo,$asignacion_mensual,$transporte,$estado){
		$array = array(
				'empresa' => $empresa,
				'usuario' => $usuario,
				'fecha_inicial' => $fecha_inicial,
				'fecha_final' => $fecha_final,
				'sin_finalizar' => $sin_finalizar,
				'cargo' => $cargo,
				'asignacion_mensual' => strtoupper($asignacion_mensual),
				'transporte' => strtoupper($transporte),
				'estado' => $estado
		);

		$this->db->where('id', $id);
		$this->db->update($this->table, $array);

	}

	function usuarios(){
        $this->db->from('usuario');
		$this->db->where('estado','1');
        $this->db->order_by('apellido');
        $result = $this->db->get();
        $return = array();
		$rows = $result->result_array();
		//$estado="";
        if($result->num_rows() > 0) {
        	$return[''] = "Seleccione un Usuario*";
            foreach($rows as $row) {
				/*if ($row['estado'] == "0"){
					$estado = '(INACTIVO)';
				}
				else{
					$estado="";
				}*/
                $return[$row['id']] = $row['apellido']." ".$row['nombre'];//." ".$estado;
            }
        }
        return $return;
	}

	function empresas(){
        $this->db->from('empresa');
				$this->db->where('estado','1');
        $this->db->order_by('nombre');
        $result = $this->db->get();
        $return = array();
        $rows = $result->result_array();
        if($result->num_rows() > 0) {
        	$return[''] = "Seleccione una Empresa*";
            foreach($rows as $row) {
                $return[$row['id']] = $row['nombre'];
            }
        }
        return $return;
	}

	function cargos(){
        $this->db->from('cargo');
				$this->db->where('estado','1');
        $this->db->order_by('nombre');
        $result = $this->db->get();
        $return = array();
        $rows = $result->result_array();
        if($result->num_rows() > 0) {
        	$return[''] = "Seleccione un Cargo*";
            foreach($rows as $row) {
                $return[$row['id']] = $row['nombre'];
            }
        }
        return $return;
    }

}
?>
