<?php
require_once("DBManager.class.php");

class Afiliado{
	private $idafiliado;///
	private $dni;
	private $nombres;
	private $apepat;	
	private $apemat;
	private $fechanac;
	private $lugarnac;
	private $ocupacion;
	private $gradoins;
	private $estadocivil;
	private $ruc;
	private $numafiliado;
	private $sangre;	
	private $foto;
	private $fecha_afilia;
	private $estado;
	private $domicilio;
	private $tipocas;
	private $areaactual;
		
	///////////////////////////////////////////
	public function Crear($dni,$nom,$ap,$am,$fn,$ln,$ocu,$gi,$ec,$ruc,$na,$sangre,$f,$fa,$es,$dom,$tc,$aa)
	{
		$resp=false;		
		$db= new DBManager();	
		$fn = implode("-", array_reverse(explode("-", $fn)));	
		$fa = implode("-", array_reverse(explode("-", $fa)));	
		if($db->_execute("INSERT INTO afiliado(idafiliado,dni,nombres,apepat,apemat,fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,fecha_afilia,estado,domicilio,tipocas,areaactual) VALUES(null,'".$dni."','".$nom."','".$ap."','".$am."','".$fn."','".$ln."','".$ocu."','".$gi."','".$ec."','".$ruc."','".$na."','".$sangre."','".$f."','".$fa."','".$es."','".$dom."','".$tc."','".$aa."')"))   
		{
			$resp=true;
		}
		return $resp;		
	}
	
	
	public function ListarPorAfiliado($v)
	{
		$vector=null;		
		$db= new DBManager();		
		$rs=$db->execute("select idafiliado,dni,nombres,apepat,apemat,DATE_FORMAT(fechanac,'%d-%m-%Y') AS fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,fecha_afilia,estado,domicilio,tipocas,areaactual from afiliado where(nombres LIKE CONCAT('%','".$v."','%') or apepat LIKE CONCAT('%','".$v."','%'))");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) 
			{
   				$vector[$row]=array("idafiliado"	    => $rs->fields["idafiliado"],
									"dni" 	    => $rs->fields["dni"],
									"nombres" 	=> $rs->fields["nombres"],
									"apepat" => $rs->fields["apepat"],									
									"apemat" => $rs->fields["apemat"],
									"fechanac" => $rs->fields["fechanac"],
									"lugarnac" 	=> $rs->fields["lugarnac"],
									"ocupacion" 	=> $rs->fields["ocupacion"],
									"gradoins" 	=> $rs->fields["gradoins"],
									"estadocivil" 	=> $rs->fields["estadocivil"],
									"ruc" 	=> $rs->fields["ruc"],
									"numafiliado" 	=> $rs->fields["numafiliado"],
									"sangre" 	=> $rs->fields["sangre"],
									"foto" 	=> $rs->fields["foto"],
									"fecha_afilia" 	=> $rs->fields["fecha_afilia"],
									"estado" 	=> $rs->fields["estado"],
									"domicilio" 	=> $rs->fields["domicilio"],
									"tipocas" 	=> $rs->fields["tipocas"],
									"areaactual" 	=> $rs->fields["areaactual"]);
									
                $row++;
				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
         	}			
        	return $vector;			
		}else return null;
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              						
	}
	
	public function ListaPaginada($v,$limitInf,$tampag)
	{    /////////////////////////////////////
		$vector=null;		
		$db= new DBManager('root','');		
		$rs=$db->execute("select idafiliado,dni,nombres,apepat,apemat,DATE_FORMAT(fechanac,'%d-%m-%Y') AS fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,fecha_afilia,estado,domicilio,tipocas,areaactual from afiliado where(nombres LIKE CONCAT('%','".$v."','%') or apepat LIKE CONCAT('%','".$v."','%')) ORDER BY nombres ASC limit ".$limitInf.",".$tampag.";");			
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) 
			{    
   				$vector[$row]=array("idafiliado"	    => $rs->fields["idafiliado"],
									"dni" 	    => $rs->fields["dni"],
									"nombres" 	=> $rs->fields["nombres"],
									"apepat" => $rs->fields["apepat"],									
									"apemat" => $rs->fields["apemat"],
									"fechanac" => $rs->fields["fechanac"],
									"lugarnac" 	=> $rs->fields["lugarnac"],
									"ocupacion" 	=> $rs->fields["ocupacion"],
									"gradoins" 	=> $rs->fields["gradoins"],
									"estadocivil" 	=> $rs->fields["estadocivil"],
									"ruc" 	=> $rs->fields["ruc"],
									"numafiliado" 	=> $rs->fields["numafiliado"],
									"sangre" 	=> $rs->fields["sangre"],
									"foto" 	=> $rs->fields["foto"],
									"fecha_afilia" 	=> $rs->fields["fecha_afilia"],
									"estado" 	=> $rs->fields["estado"],
									"domicilio" 	=> $rs->fields["domicilio"],
									"tipocas" 	=> $rs->fields["tipocas"],
									"areaactual" 	=> $rs->fields["areaactual"]);
									
                $row++;
				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
         	}			
        	return $vector;			
		}else return null;
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              						
	}
	
	public function BuscarPorCodigo($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select idafiliado,dni,nombres,apepat,apemat,DATE_FORMAT(fechanac,'%d-%m-%Y') AS fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,DATE_FORMAT(fecha_afilia,'%d-%m-%Y') AS fecha_afilia,estado,domicilio,tipocas,areaactual from afiliado where(idafiliado = ".$vcod.")");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	                  $this->idafiliado=$rs->fields["idafiliado"];
					  $this->dni=$rs->fields["dni"];
				      $this->nombres=$rs->fields["nombres"];				
				      $this->apepat=$rs->fields["apepat"];				      
					  $this->apemat=$rs->fields["apemat"];
					  $this->fechanac=$rs->fields["fechanac"];
					  $this->lugarnac=$rs->fields["lugarnac"];
					  $this->ocupacion=$rs->fields["ocupacion"];
					  $this->gradoins=$rs->fields["gradoins"];
					  $this->estadocivil=$rs->fields["estadocivil"];
					  $this->ruc=$rs->fields["ruc"];
					  $this->numafiliado=$rs->fields["numafiliado"];
					  $this->sangre=$rs->fields["sangre"];	  
					  $this->foto=$rs->fields["foto"];
					  $this->fecha_afilia=$rs->fields["fecha_afilia"];
					  $this->estado=$rs->fields["estado"];
					  $this->domicilio=$rs->fields["domicilio"];
					  $this->tipocas=$rs->fields["tipocas"];
					  $this->areaactual=$rs->fields["areaactual"];
					  
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}
	
	public function BuscarPorDocumento($vcod)
	{
		
		$resp=false;
		$num_rows=0;//numero de filas afectada por la consulta
		$db= new DBManager();
		$rs=$db->execute("select idafiliado,dni,nombres,apepat,apemat,DATE_FORMAT(fechanac,'%d-%m-%Y') AS fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,DATE_FORMAT(fecha_afilia,'%d-%m-%Y') AS fecha_afilia,estado,domicilio,tipocas,areaactual from afiliado where(dni = ".$vcod.")");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$resp=true;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                // Coleccion de campos accesible mediante arrays asociativos también
	                  $this->idafiliado=$rs->fields["idafiliado"];
					  $this->dni=$rs->fields["dni"];
				      $this->nombres=$rs->fields["nombres"];				
				      $this->apepat=$rs->fields["apepat"];				      
					  $this->apemat=$rs->fields["apemat"];
					  $this->fechanac=$rs->fields["fechanac"];
					  $this->lugarnac=$rs->fields["lugarnac"];
					  $this->ocupacion=$rs->fields["ocupacion"];
					  $this->gradoins=$rs->fields["gradoins"];
					  $this->estadocivil=$rs->fields["estadocivil"];
					  $this->ruc=$rs->fields["ruc"];
					  $this->numafiliado=$rs->fields["numafiliado"];
					  $this->sangre=$rs->fields["sangre"];	  
					  $this->foto=$rs->fields["foto"];
					  $this->fecha_afilia=$rs->fields["fecha_afilia"];
					  $this->estado=$rs->fields["estado"];
					  $this->domicilio=$rs->fields["domicilio"];
					  $this->tipocas=$rs->fields["tipocas"];
					  $this->areaactual=$rs->fields["areaactual"];
					  
					  
 				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
		}
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              
		return $resp;							
	}
	
	////////////////////////////////////////////	
	
	public function ActualizarSinFoto($vid,$dni,$nom,$ap,$am,$fn,$ln,$ocu,$gi,$ec,$ruc,$sangre,$domicilio,$tc,$aa)			
	{
		$resp=false;		
		$db= new DBManager();	
	//	$fn = implode("-",array_reverse(explode("-",$fn)));	
		if($db->_execute("update afiliado set dni='".$dni."',nombres = '".$nom."', apepat = '".$ap."', apemat = '".$am."',fechanac = '".$fn."',lugarnac = '".$ln."',ocupacion = '".$ocu."',gradoins='".$gi."', estadocivil='".$ec."', ruc='".$ruc."', sangre='".$sangre."', domicilio='".$domicilio."',tipocas='".$tc."',areaactual='".$aa."' where (idafiliado=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function ActualizarConfoto($vid,$dni,$nom,$ap,$am,$fn,$ln,$ocu,$gi,$ec,$ruc,$sangre,$fo,$domicilio,$tc,$aa)			
	{
		$resp=false;		
		$db= new DBManager();	
	//	$fn = implode("-",array_reverse(explode("-",$fn)));	
		if($db->_execute("update afiliado set dni='".$dni."',nombres = '".$nom."', apepat = '".$ap."', apemat = '".$am."',fechanac = '".$fn."',lugarnac = '".$ln."',ocupacion = '".$ocu."',gradoins='".$gi."', estadocivil='".$ec."', ruc='".$ruc."', sangre='".$sangre."',foto='".$fo."', domicilio='".$domicilio."',tipocas='".$tc."',areaactual='".$aa."' where (idafiliado=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function Actualizarfoto($vid,$fo)			
	{
		$resp=false;		
		$db= new DBManager();			
		if($db->_execute("update idafiliado set foto= '".$fo."' where (idafiliado=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	public function Actualizarestado($vid,$e)			
	{
		$resp=false;		
		$db= new DBManager();	
		if($db->_execute("update idafiliado set estado= '".$e."' where (idafiliado=".$vid.") "))//si es exitosa la consulta			   
		{
		  $resp=true; 
		}	
		return $resp;
	}
	
	
	/////////////////////////////////
	public function ListaTotal()
	{
		$vector=null;
		$db= new DBManager();		
		$rs=$db->execute("select idafiliado,dni,nombres,apepat,apemat,DATE_FORMAT(fechanac,'%d-%m-%Y') AS fechanac,lugarnac,ocupacion,gradoins,estadocivil,ruc,numafiliado,sangre,foto,fecha_afilia,estado,domicilio,tipocas,areaactual from afiliado ");
		$num_rows=$rs->getNumOfRows();
		if($num_rows>0)
		{	$row=0;
			$rs->firstRow(); // opcional, pero recomendado
			while (!$rs->EOF) {
                $vector[$row]=array("idafiliado"	    => $rs->fields["idafiliado"],
									"dni" 	    => $rs->fields["dni"],
									"nombres" 	=> $rs->fields["nombres"],
									"apepat" => $rs->fields["apepat"],									
									"apemat" => $rs->fields["apemat"],
									"fechanac" => $rs->fields["fechanac"],
									"lugarnac" 	=> $rs->fields["lugarnac"],
									"ocupacion" 	=> $rs->fields["ocupacion"],
									"gradoins" 	=> $rs->fields["gradoins"],
									"estadocivil" 	=> $rs->fields["estadocivil"],
									"ruc" 	=> $rs->fields["ruc"],
									"numafiliado" 	=> $rs->fields["numafiliado"],
									"sangre" 	=> $rs->fields["sangre"],
									"foto" 	=> $rs->fields["foto"],
									"fecha_afilia" 	=> $rs->fields["fecha_afilia"],
									"estado" 	=> $rs->fields["estado"],
									"domicilio" 	=> $rs->fields["domicilio"],
									"tipocas" 	=> $rs->fields["tipocas"],
									"areaactual" 	=> $rs->fields["areaactual"]);
									
                $row++;
				$rs->nextRow(); // Nota: nextRow() Esta situado al final				
        	}			
        	return $vector;			
		}else return null;
		
		$rs->close(); 
		$db->closeConnection();//opcional cierra el enlace de la Base de Datos              						
	}
	

	//////////////////////////////
	public function Eliminar($vcod)
	{
		$resp=false;		
		$db= new DBManager();		
		if($db->_execute("DELETE FROM afiliado WHERE (idafiliado=".$vcod.");"))   
		{
			$resp=true;
		}
		return $resp;		
	}	
	/////////////////////////////////////////						
	
	public function getidafiliado(){ return $this->idafiliado;}
	public function getnombres(){ return $this->nombres;}
	public function getapepat(){ return $this->apepat;}
	public function getapemat(){ return $this->apemat;}
	public function getdni(){ return $this->dni;}
	public function getfechanac(){ return $this->fechanac;}
	public function getlugarnac(){ return $this->lugarnac;}
	public function getocupacion(){ return $this->ocupacion;}
	public function getgradoins(){ return $this->gradoins;}
	public function getestadocivil(){ return $this->estadocivil;}
	public function getruc(){ return $this->ruc;}
	public function getnumafiliado(){ return $this->numafiliado;}
	public function getsangre(){ return $this->sangre;}
	public function getfoto(){ return $this->foto;}
	public function getfecha_afilia(){ return $this->fecha_afilia;}
	public function getestado(){ return $this->estado;}
	public function getdomicilio(){ return $this->domicilio;}
	public function gettipocas(){ return $this->tipocas;}
	public function getareaactual(){ return $this->areaactual;}
	}
?>
