Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.propietario.php');
require_once('class.inscripcionresultadosmorfologicos.php');
require_once('class.inscripcionresultadosfuncionales.php');
require_once('class.inscripcionresultadosmarcha.php');
require_once('class.filter.php');
require_once('class.page.php');
class Propietarios 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['NumeroSocio']) && $filter['NumeroSocio'] != '')
$sql.= " AND NumeroSocio LIKE '%" . DB::StringUnquoted($filter['NumeroSocio']) . "%'";
return $sql;
}
public function GetPagesCount(Page $oPage, $filter = false)
{
$sql = "SELECT COUNT(1) / " . DB::Number($oPage->Size) . " AS Count";
$sql.= " FROM tblPropietarios";
$sql.= " WHERE (trim(NumeroSocio) <> '' AND NumeroSocio IS NOT NULL)";
if ($filter)
$sql.= " " . $this->ParseFilter($filter);
if (!($oRes = $this->GetQuery($sql)) )
return false;
if ( !($oRow = $oRes->GetRow()) )
return false;
$Count = $oRow['Count'];
return ceil($Count);
}
public function GetAll(array $filter = NULL, Page $oPage = NULL)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE (trim(NumeroSocio) <> '' AND NumeroSocio IS NOT NULL)";
if ($filter)
$sql.= $this->ParseFilter($filter);
$sql.= " ORDER BY Nombre ";
if ($oPage != NULL)
$sql.= " " . Pageable::ParsePage($oPage);
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
array_push($arr, $oPropietario);
$oRes->MoveNext();
}
return $arr;
}
public function GetNombreById($IdPropietario)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE NumeroSocio = " . DB::Number($IdPropietario);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario->Nombre;
}
public function GetByNumeroSocio($NumeroSocio)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE NumeroSocio = " . DB::String($NumeroSocio);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario->Nombre;
}
public function GetById($IdPropietario)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE NumeroSocio = " . DB::Number($IdPropietario);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario;
}
public function GetByIdIncrement($IdPropietario)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE IdPropietario = " . DB::Number($IdPropietario);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario;
}
public function GetByNombre($Nombre)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
$sql.= " WHERE Nombre = " . DB::String($Nombre);
$sql.= " AND NumeroSocio IS NOT NULL AND NumeroSocio <> ''";
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario;
}
public function GetByUsuario(Usuario $oUsuario)
{
$sql = "SELECT p.*,";
$sql.= " COUNT(1) AS Cantidad";
$sql.= " FROM tblPropietarios p";
$sql.= " INNER JOIN tblInscripcionAnimales ia ON p.IdPropietario = ia.IdPropietario";
$sql.= " WHERE ia.IdUsuario = " . DB::Number($oUsuario->IdUsuario);
$sql.= " GROUP BY ia.IdPropietario";
$sql.= " ORDER BY Cantidad DESC, ia.IdPropietario ASC";
$sql.= " LIMIT 1";
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario;
}
public function GetAllByUsuario(Usuario $oUsuario)
{
$sql = "SELECT p.*,";
$sql.= " COUNT(1) AS Cantidad";
$sql.= " FROM tblPropietarios p";
$sql.= " INNER JOIN tblInscripcionAnimales ia ON p.IdPropietario = ia.IdPropietario";
$sql.= " WHERE ia.IdUsuario = " . DB::Number($oUsuario->IdUsuario);
$sql.= " GROUP BY ia.IdPropietario";
$sql.= " ORDER BY Cantidad DESC, ia.IdPropietario ASC";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
array_push($arr, $oPropietario);
$oRes->MoveNext();
}
return $arr;
}
public function GetCriadorByUsuario(Usuario $oUsuario)
{
$sql = "SELECT p.*,";
$sql.= " COUNT(1) AS Cantidad";
$sql.= " FROM tblPropietarios p";
$sql.= " INNER JOIN tblInscripcionAnimales ia ON p.IdPropietario = ia.IdCriador";
$sql.= " WHERE ia.IdUsuario = " . DB::Number($oUsuario->IdUsuario);
$sql.= " GROUP BY ia.IdCriador";
$sql.= " ORDER BY Cantidad DESC, ia.IdCriador ASC";
$sql.= " LIMIT 1";
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
return $oPropietario;
}
public function GetAllCriadoresByUsuario(Usuario $oUsuario)
{
$sql = "SELECT p.*,";
$sql.= " COUNT(1) AS Cantidad";
$sql.= " FROM tblPropietarios p";
$sql.= " INNER JOIN tblInscripcionAnimales ia ON p.IdPropietario = ia.IdCriador";
$sql.= " WHERE ia.IdUsuario = " . DB::Number($oUsuario->IdUsuario);
$sql.= " GROUP BY ia.IdCriador";
$sql.= " ORDER BY Cantidad DESC, ia.IdCriador ASC";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oPropietario = new Propietario();
$oPropietario->ParseFromArray($oRow);
array_push($arr, $oPropietario);
$oRes->MoveNext();
}
return $arr;
}
public function GetAllPropietariosPremioSolanet(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosMorfologicos = new InscripcionResultadosMorfologicos();
$oResultadosFuncionales = new InscripcionResultadosFuncionales();
$oResultadosMarcha = new InscripcionResultadosMarcha();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$PuntajeMorfologia = 0;
$PuntajeFuncionales = 0;
$PuntajeMarcha = 0;
/* obtenemos maximos resultados morfologicos */
$arrResultadosMorfologicos = $oResultadosMorfologicos->GetAllMaximosByPropietarioCalendario($oPropietario, $oCalendario, 5);
/* acumulamos los puntajes morfologicos */
foreach ($arrResultadosMorfologicos as $oResultadoMorfologico)
$PuntajeMorfologia += $oResultadoMorfologico->Puntaje;
/* obtenemos maximos resultados funcionales */
$arrResultadosFuncionales = $oResultadosFuncionales->GetAllMaximosByPropietarioCalendario($oPropietario, $oCalendario, 4);
/* acumulamos los puntajes funcionales */
foreach ($arrResultadosFuncionales as $oResultadoFuncional)
$PuntajeFuncionales += $oResultadoFuncional->Puntaje;
/* obtenemos maximos resultado de marcha */
$arrResultadosMarcha = $oResultadosMarcha->GetAllMaximosByPropietarioCalendario($oPropietario, $oCalendario, 1);
/* acumulamos los puntajes de marcha */
foreach ($arrResultadosMarcha as $oResultadoMarcha)
$PuntajeMarcha += $oResultadoMarcha->Puntaje;
$oPropietario->PuntajeMorfologia = $PuntajeMorfologia;
$oPropietario->PuntajeFuncional = $PuntajeFuncionales;
$oPropietario->PuntajeMarcha = $PuntajeMarcha;
$oPropietario->PuntajeTotal = $PuntajeMorfologia + $PuntajeFuncionales + $PuntajeMarcha;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeTotal'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetAllPropietariosPremioMorfologia(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosMorfologicos = new InscripcionResultadosMorfologicos();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$Puntaje = 0;
/* obtenemos maximos resultados morfologicos */
$arrResultadosMorfologicos = $oResultadosMorfologicos->GetAllMaximosByPropietarioCalendario($oPropietario, $oCalendario, 5);
/* acumulamos los puntajes morfologicos */
foreach ($arrResultadosMorfologicos as $oResultadoMorfologico)
$Puntaje += $oResultadoMorfologico->Puntaje;
$oPropietario->PuntajeMorfologia = $Puntaje;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeMorfologia'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetAllPropietariosPremioFuncional(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosFuncionales = new InscripcionResultadosFuncionales();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$Puntaje = 0;
/* obtenemos maximos resultados funcionales */
$arrResultadosFuncionales = $oResultadosFuncionales->GetAllMaximosByPropietarioCalendario($oPropietario, $oCalendario, 4);
/* acumulamos los puntajes funcionales */
foreach ($arrResultadosFuncionales as $oResultadoFuncional)
$Puntaje += $oResultadoFuncional->Puntaje;
$oPropietario->PuntajeFuncional = $Puntaje;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeFuncional'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetAllCriadoresPremioSolanet(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosMorfologicos = new InscripcionResultadosMorfologicos();
$oResultadosFuncionales = new InscripcionResultadosFuncionales();
$oResultadosMarcha = new InscripcionResultadosMarcha();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$PuntajeMorfologia = 0;
$PuntajeFuncionales = 0;
$PuntajeMarcha = 0;
/* obtenemos maximos resultados morfologicos */
$arrResultadosMorfologicos = $oResultadosMorfologicos->GetAllMaximosByCriadorCalendario($oPropietario, $oCalendario);
/* acumulamos los puntajes morfologicos */
foreach ($arrResultadosMorfologicos as $oResultadoMorfologico)
$PuntajeMorfologia += $oResultadoMorfologico->Puntaje;
/* obtenemos maximos resultados funcionales */
$arrResultadosFuncionales = $oResultadosFuncionales->GetAllMaximosByCriadorCalendario($oPropietario, $oCalendario);
/* acumulamos los puntajes funcionales */
foreach ($arrResultadosFuncionales as $oResultadoFuncional)
$PuntajeFuncionales += $oResultadoFuncional->Puntaje;
/* obtenemos maximos resultado de marcha */
$arrResultadosMarcha = $oResultadosMarcha->GetAllMaximosByCriadorCalendario($oPropietario, $oCalendario, 1);
/* acumulamos los puntajes de marcha */
foreach ($arrResultadosMarcha as $oResultadoMarcha)
$PuntajeMarcha += $oResultadoMarcha->Puntaje;
$oPropietario->PuntajeMorfologia = $PuntajeMorfologia;
$oPropietario->PuntajeFuncional = $PuntajeFuncionales;
$oPropietario->PuntajeMarcha = $PuntajeMarcha;
$oPropietario->PuntajeTotal = $PuntajeMorfologia + $PuntajeFuncionales + $PuntajeMarcha;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeTotal'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetAllCriadoresPremioMorfologia(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosMorfologicos = new InscripcionResultadosMorfologicos();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$Puntaje = 0;
/* obtenemos maximos resultados morfologicos */
$arrResultadosMorfologicos = $oResultadosMorfologicos->GetAllMaximosByCriadorCalendario($oPropietario, $oCalendario);
/* acumulamos los puntajes morfologicos */
foreach ($arrResultadosMorfologicos as $oResultadoMorfologico)
$Puntaje += $oResultadoMorfologico->Puntaje;
$oPropietario->PuntajeMorfologia = $Puntaje;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeMorfologia'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetAllCriadoresPremioFuncional(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosFuncionales = new InscripcionResultadosFuncionales();
/* obtenemos listado de propietarios */
$arrPropietarios = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrPropietarios as $oPropietario)
{
$Puntaje = 0;
/* obtenemos maximos resultados funcionales */
$arrResultadosFuncionales = $oResultadosFuncionales->GetAllMaximosByCriadorCalendario($oPropietario, $oCalendario);
/* acumulamos los puntajes funcionales */
foreach ($arrResultadosFuncionales as $oResultadoFuncional)
$Puntaje += $oResultadoFuncional->Puntaje;
$oPropietario->PuntajeFuncional = $Puntaje;
}
usort($arrPropietarios, array($oPropietario, 'CompararPuntajeFuncional'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrPropietarios); $i>=$Cantidad; $i--)
unset($arrPropietarios[$i]);
return $arrPropietarios;
}
public function GetCountRows(array $filter = NULL)
{
$sql = " SELECT * ";
$sql.= " FROM tblPropietarios ";
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(Propietario $oPropietario)
{
$arr = array
(
'NumeroSocio' => DB::Number($oPropietario->NumeroSocio),
'Nombre' => DB::String($oPropietario->Nombre),
'Estado' => DB::String('A')
);
if (!$this->Insert('tblPropietarios', $arr))
return false;
$oPropietario->IdPropietario = DBAccess::GetLastInsertId();
return $oPropietario;
}
public function Importar(Propietario $oPropietario)
{
$arr = array
(
'NumeroSocio' => DB::Number($oPropietario->NumeroSocio),
'Nombre' => DB::String($oPropietario->Nombre),
'Estado' => DB::String('A')
);
if (!$this->Insert('tblPropietarios', $arr))
{
echo $this->GetLastError() . "<br>";
return false;
}
return $oPropietario;
}
public function Update(Propietario $oPropietario)
{
$where = " IdPropietario = " . DB::Number($oPropietario->IdPropietario);
$arr = array
(
'NumeroSocio' => DB::Number($oPropietario->NumeroSocio),
'Nombre' => DB::String($oPropietario->Nombre),
'Estado' => DB::String('A'),
'Eliminado' => DB::Bool('0')
);
if (!DBAccess::Update('tblPropietarios', $arr, $where))
return false;
return $oPropietario;
}
public function Delete($IdPropietario)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdPropietario = " . DB::Number($IdPropietario);
if (!DBAccess::Delete('tblPropietarios', $where))
{
DBAccess::$db->Rollback();
return false;
}
DBAccess::$db->Commit();
return true;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat