Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?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