Mister Spy Say ="Hello Kids ... :D" ___ ____ _ _____ | \/ (_) | | / ___| | . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _ | |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | | | | | | \__ \ || __/ | /\__/ / |_) | |_| | \_| |_/_|___/\__\___|_| \____/| .__/ \__, | | | __/ | |_| |___/ Bot Mister Spy V3
Mister Spy

Mister Spy

Current Path : /home/caballoscriollos/public_html/espanol/library/
Upload File :
Current File : /home/caballoscriollos/public_html/espanol/library/class.lotes.php

<?php 

require_once('class.dbaccess.php');
require_once('class.filter.php');
require_once('class.lote.php');
require_once('class.page.php');

class Lotes extends DBAccess implements IFilterable
{
	public function ParseFilter(array $filter)
	{
		$sql = '';

		if (isset($filter['Nombre']) && $filter['Nombre'] != "")
		{
			$sql.= " AND Nombre LIKE '%" . DB::StringUnquoted($filter['Nombre']) . "%'";
		}
		
		if (isset($filter['Estado']) && $filter['Estado'] != "")
		{
			$sql.= " AND Estado = " . DB::Number($filter['Estado']);
		}
		
		if (isset($filter['IdRemate']) && $filter['IdRemate'] != "")
		{
			$sql.= " AND IdRemate = " . DB::Number($filter['IdRemate']);
		}
		
		if (isset($filter['IdSexo']) && $filter['IdSexo'] != "")
		{
			$sql.= " AND IdSexo = " . DB::Number($filter['IdSexo']);
		}
		
		if (isset($filter['IdHembraTipo']) && $filter['IdHembraTipo'] != "")
		{
			$sql.= " AND IdHembraTipo = " . DB::Number($filter['IdHembraTipo']);
		}
		
		if (isset($filter['IdLoteDistinto']) && $filter['IdLoteDistinto'] != "")
		{
			$sql.= " AND IdLote != " . DB::Number($filter['IdLoteDistinto']);
		}
		
		if (isset($filter['NumeroLote']) && $filter['NumeroLote'] != "")
		{
			$sql.= " AND NumeroLote = " . DB::Number($filter['NumeroLote']);
		}
		
		if (isset($filter['Montado']) && $filter['Montado'] == "1")
		{
			$sql.= " AND Montado = 1";
		}
		
		if (isset($filter['Cabestro']) && $filter['Cabestro'] == "1")
		{
			$sql.= " AND Cabestro = 1";
		}
		
		if ($filter['IdTipoLote'] != "" )
		{
			$sql.= " AND IdTipoLote = " . DB::Number($filter['IdTipoLote']);
		}
		
		if (isset($filter['IdUsuario']) && $filter['IdUsuario'] != "")
		{
			$sql.= " AND IdUsuario = " . DB::Number($filter['IdUsuario']);
		}

		if (isset($filter['IdCabania']) && $filter['IdCabania'] != "")
		{
			$sql.= " AND IdCabania = " . DB::Number($filter['IdCabania']);
		}
		
		if (isset($filter['Cabania']) && $filter['Cabania'] != "")
		{
			$sql.= " AND Cabania LIKE '%" . DB::StringUnquoted($filter['Cabania']) . "%'";
		}
		
		if (isset($filter['PrecioDesde']) && $filter['PrecioDesde'] != "")
		{
			$sql.= " AND Precio >= " . DB::Number($filter['PrecioDesde']);
		}
		
		if (isset($filter['PrecioHasta']) && $filter['PrecioHasta'] != "")
		{
			$sql.= " AND Precio <= " . DB::Number($filter['PrecioHasta']);
		}
		
		if (isset($filter['NoVencidos']) && $filter['NoVencidos'] != "")
		{
			$sql.= " AND FechaRegistro >= NOW() - INTERVAL 30 DAY";
		}

		return $sql;
	}


	public function GetPagesCount(Page $oPage, $filter = false)
	{	
		$Count = $this->GetCountRows($filter) / DB::Number($oPage->Size);
				
		return ceil($Count);
	}


	public function GetAll(array $filter = NULL, Page $oPage = NULL)
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE 1";

		if ($filter)
			$sql.= $this->ParseFilter($filter);

		$sql.= " ORDER BY FechaNacimiento ASC, IdSexo = 2, IdSexo = 1, IdSexo = 3";

		if ($oPage != NULL)
			$sql.= " " . Pageable::ParsePage($oPage);

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		$arr = array();
			
		while ($oRow = $oRes->GetRow())	
		{	
			$oLote = new Lote();
			$oLote->ParseFromArray($oRow);
			
			array_push($arr, $oLote);
			
			$oRes->MoveNext();
		}	
		
		return $arr;		
	}
	
	
	public function GetRandom($Cantidad)
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE Estado = 1";
		$sql.= " AND FechaRegistro >= NOW() - INTERVAL 30 DAY";
		$sql.= " ORDER BY Rand()";
		$sql.= " LIMIT " . DB::Number($Cantidad);

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		$arr = array();
			
		while ($oRow = $oRes->GetRow())	
		{	
			$oLote = new Lote();
			$oLote->ParseFromArray($oRow);
			
			array_push($arr, $oLote);
			
			$oRes->MoveNext();
		}
		
		return $arr;		
	}
	

	public function GetById($IdLote)
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE IdLote = " . DB::Number($IdLote);	

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		if (!($oRow = $oRes->GetRow()))
			return false;
		
		$oLote = new Lote();
		$oLote->ParseFromArray($oRow);
		
		return $oLote;		
	}


	public function GetMinNum($IdRemate)
	{
		$sql = "SELECT MIN(NumeroLote) AS MinNum";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE IdRemate = " . DB::Number($IdRemate);
		$sql.= " AND Estado = 1";

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		if (!($oRow = $oRes->GetRow()))
			return false;
	
		$MinNum = $oRow['MinNum'];	
		
		return $MinNum;		
	}


	public function GetMaxNum($IdRemate)
	{
		$sql = "SELECT MAX(NumeroLote) AS MaxNum";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE IdRemate = " . DB::Number($IdRemate);
		$sql.= " AND Estado = 1";

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		if (!($oRow = $oRes->GetRow()))
			return false;
	
		$MaxNum = $oRow['MaxNum'];	
		
		return $MaxNum;		
	}
	
	
	public function GetPrevious($IdRemate, $NumeroLote, $ExtensionLote = '')
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		
		$sql.= " WHERE (NumeroLote = "  . DB::Number($NumeroLote);
		$sql.= " AND LoteExtension < " . DB::String($ExtensionLote);
		$sql.= ") OR  NumeroLote < " . DB::Number($NumeroLote);
		
		$sql.= " AND IdRemate = " . DB::Number($IdRemate);
		$sql.= " AND Estado = 1";
		$sql.= " AND FechaRegistro >= NOW() - INTERVAL 30 DAY";
		$sql.= " ORDER BY NumeroLote DESC";
		$sql.= " LIMIT 1";

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		if (!($oRow = $oRes->GetRow()))
			return false;
		
		$oLote = new Lote();
		$oLote->ParseFromArray($oRow);
		
		return $oLote;		
	}
	
	
	public function GetNext($IdRemate, $NumeroLote, $ExtensionLote = '')
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		
		$sql.= " WHERE (NumeroLote = "  . DB::Number($NumeroLote);
		$sql.= " AND LoteExtension > " . DB::String($ExtensionLote);
		$sql.= ") OR  NumeroLote > " . DB::Number($NumeroLote);
				
		$sql.= " AND IdRemate = " . DB::Number($IdRemate);
		$sql.= " AND Estado = 1";
		$sql.= " AND FechaRegistro >= NOW() - INTERVAL 30 DAY";
		$sql.= " ORDER BY NumeroLote ASC";
		$sql.= " LIMIT 1";

		if (!($oRes = $this->GetQuery($sql)))
			return false;
			
		if (!($oRow = $oRes->GetRow()))
			return false;
		
		$oLote = new Lote();
		$oLote->ParseFromArray($oRow);
		
		return $oLote;		
	}

	
	public function GetCountRows(array $filter = NULL)
	{
		$sql = "SELECT *";
		$sql.= " FROM tblLotes";
		$sql.= " WHERE 1";

		if ($filter)
			$sql.= $this->ParseFilter($filter);

		$sql.= " ORDER BY Nombre";

		if (!($oRes = $this->GetQuery($sql)))
			return false;
		
		$CountRows = $oRes->NumRows();
		
		return $CountRows;
	}
	
	
	public function Create(Lote $oLote)
	{
		$arr = array
		(
			'IdRemate'				=> DB::Number($oLote->IdRemate),
			'IdUsuario'				=> DB::Number($oLote->IdUsuario),
			'IdCabania'				=> DB::Number($oLote->IdCabania),	
			'IdTipoLote'			=> DB::Number($oLote->IdTipoLote),
			'NumeroOrdenRemate'		=> DB::Number($oLote->NumeroOrdenRemate),
			'NumeroLote'			=> DB::Number($oLote->NumeroLote),
			'LoteExtension'			=> DB::String($oLote->LoteExtension),
			'Nombre'				=> DB::String($oLote->Nombre),
			'SbaTipo'				=> DB::Number($oLote->SbaTipo),
			'SbaNumero'				=> DB::String($oLote->SbaNumero),
			'RegistroPropietario'	=> DB::String($oLote->RegistroPropietario),
			'IdSexo'				=> DB::Number($oLote->IdSexo),
			'IdHembraTipo'			=> DB::Number($oLote->IdHembraTipo),
			'Cabestro'				=> DB::Number($oLote->Cabestro),
			'Montado'				=> DB::Number($oLote->Montado),
			'IdPelaje'				=> DB::Number($oLote->IdPelaje),
			'PelajeOtro'			=> DB::String($oLote->PelajeOtro),
			'FechaNacimiento'		=> DB::Date($oLote->FechaNacimiento),
			'Talla'					=> DB::String($oLote->Talla),
			'Torax'					=> DB::String($oLote->Torax),
			'Cania'					=> DB::String($oLote->Cania),
			'Observaciones'			=> DB::String($oLote->Observaciones),
			'ImagenPedigree'		=> DB::String($oLote->ImagenPedigree),
			'Hba'					=> DB::String($oLote->Hba),
			'Analisis'				=> DB::String($oLote->Analisis),
			'Precio'				=> DB::String($oLote->Precio),
			'FechaRegistro'			=> DB::Date(date('Y-m-d')),
			'Estado'				=> DB::Number(1),
			'EmailContacto'			=> DB::String($oLote->EmailContacto),
			'Tabla'					=> DB::String($oLote->Tabla),
			'IdAnimal'				=> DB::Number($oLote->IdAnimal),
			'AvisoVencimiento'		=> DB::Number(0)
		);
		
		if (!$this->Insert('tblLotes', $arr))
			return false;
		
		$oLote->IdLote = $this->GetLastInsertId();
			
		return $oLote;
	}
	
	
	public function Update(Lote $oLote)
	{
		$where = " IdLote = " . DB::Number($oLote->IdLote);
		
		$arr = array
		(
			'IdRemate'				=> DB::Number($oLote->IdRemate),
			'IdUsuario'				=> DB::Number($oLote->IdUsuario),
			'IdCabania'				=> DB::Number($oLote->IdCabania),			
			'IdTipoLote'			=> DB::Number($oLote->IdTipoLote),
			'NumeroOrdenRemate'		=> DB::Number($oLote->NumeroOrdenRemate),
			'NumeroLote'			=> DB::Number($oLote->NumeroLote),
			'LoteExtension'			=> DB::String($oLote->LoteExtension),
			'Nombre'				=> DB::String($oLote->Nombre),
			'SbaTipo'				=> DB::Number($oLote->SbaTipo),
			'SbaNumero'				=> DB::String($oLote->SbaNumero),
			'RegistroPropietario'	=> DB::String($oLote->RegistroPropietario),
			'IdSexo'				=> DB::Number($oLote->IdSexo),
			'IdHembraTipo'			=> DB::Number($oLote->IdHembraTipo),
			'Cabestro'				=> DB::Number($oLote->Cabestro),
			'Montado'				=> DB::Number($oLote->Montado),
			'IdPelaje'				=> DB::Number($oLote->IdPelaje),
			'PelajeOtro'			=> DB::String($oLote->PelajeOtro),
			'FechaNacimiento'		=> DB::Date($oLote->FechaNacimiento),
			'Talla'					=> DB::String($oLote->Talla),
			'Torax'					=> DB::String($oLote->Torax),
			'Cania'					=> DB::String($oLote->Cania),
			'Observaciones'			=> DB::String($oLote->Observaciones),
			'ImagenPedigree'		=> DB::String($oLote->ImagenPedigree),
			'Hba'					=> DB::String($oLote->Hba),
			'Analisis'				=> DB::String($oLote->Analisis),
			'Precio'				=> DB::String($oLote->Precio),
			//'FechaRegistro'			=> DB::Date(date('Y-m-d')),
			'Estado'				=> DB::Number($oLote->Estado),
			'EmailContacto'			=> DB::String($oLote->EmailContacto),
			'Tabla'					=> DB::String($oLote->Tabla),
			'IdAnimal'				=> DB::Number($oLote->IdAnimal)
		);
		
		if (!DBAccess::Update('tblLotes', $arr, $where))
			return false;

		return $oLote;
	}


	public function UpdateAvisoVencimiento(Lote $oLote)
	{
		$where = " IdLote = " . DB::Number($oLote->IdLote);
		
		$arr = array('AvisoVencimiento' => DB::Number($oLote->AvisoVencimiento));
		
		if (!DBAccess::Update('tblLotes', $arr, $where))
			return false;

		return $oLote;
	}	


	public function Delete($IdLote)
	{
		if (!DBAccess::$db->Begin())
			return false;
			
		$where = " IdLote = " . DB::Number($IdLote);		
		
		$arr = array
		(			
			'Estado' => DB::Number(0)
		);
		
		if (!DBAccess::Update('tblLotes', $arr, $where))
		{
			DBAccess::$db->Rollback();	
			return false;
		}		

		DBAccess::$db->Commit();

		return true;
	}		
	
	
	public function Reactivar($IdLote)
	{
		$where = " IdLote = " . DB::Number($IdLote);
		
		$arr = array
		(			
			'FechaRegistro'	=> DB::Date(date('Y-m-d')),
			'Estado'		=> DB::Number(1)
		);
		
		if (!DBAccess::Update('tblLotes', $arr, $where))
			return false;

		return $oLote;
	}
}

?>

Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat