Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.domador.php');
require_once('class.inscripcionresultadosfuncionales.php');
require_once('class.inscripcionresultadosmarcha.php');
require_once('class.filter.php');
require_once('class.page.php');
class Domadores extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
if (isset($filter['Nombre']))
{
$sql.= " AND ( Nombre LIKE '%" . DB::StringUnquoted($filter['Nombre']) . "%'";
$sql.= " OR Nombre IS NULL)";
}
if (isset($filter['Apellido']))
{
$sql.= " AND ( Apellido LIKE '%" . DB::StringUnquoted($filter['Apellido']) . "%'";
$sql.= " OR Apellido IS NULL)";
}
return $sql;
}
public function GetPagesCount(Page $oPage, array $filter = NULL)
{
$Count = $this->GetCountRows($filter);
$Count = $Count / $oPage->Size;
return ceil($Count);
}
public function GetAll(array $filter = NULL, Page $oPage = NULL)
{
$sql = "SELECT *";
$sql.= " FROM tblDomadores";
$sql.= " WHERE 1";
if ($filter)
$sql.= $this->ParseFilter($filter);
if ($oPage != NULL)
$sql.= " " . Pageable::ParsePage($oPage);
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oDomador = new Domador();
$oDomador->ParseFromArray($oRow);
array_push($arr, $oDomador);
$oRes->MoveNext();
}
return $arr;
}
public function GetById($IdDomador)
{
$sql = "SELECT *";
$sql.= " FROM tblDomadores";
$sql.= " WHERE IdDomador = " . DB::Number($IdDomador);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oDomador = new Domador();
$oDomador->ParseFromArray($oRow);
return $oDomador;
}
public function GetByDocumentoNumero($DocumentoNumero)
{
$sql = "SELECT *";
$sql.= " FROM tblDomadores";
$sql.= " WHERE DocumentoNumero = " . DB::String($DocumentoNumero);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oDomador = new Domador();
$oDomador->ParseFromArray($oRow);
return $oDomador;
}
public function GetByNombre($Nombre)
{
$sql = "SELECT *";
$sql.= " FROM tblDomadores";
$sql.= " WHERE CONCAT(Nombre, ' ', Apellido) = " . DB::String($Nombre);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oDomador = new Domador();
$oDomador->ParseFromArray($oRow);
return $oDomador;
}
public function GetAllDomadoresPremioFuncional(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosFuncionales = new InscripcionResultadosFuncionales();
/* obtenemos listado de Domadores */
$arrDomadores = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrDomadores as $oDomador)
{
$Puntaje = 0;
/* obtenemos maximos resultados funcionales */
$arrResultadosFuncionales = $oResultadosFuncionales->GetAllMaximosByDomadorCalendario($oDomador, $oCalendario, 4);
/* acumulamos los puntajes funcionales */
foreach ($arrResultadosFuncionales as $oResultadoFuncional)
$Puntaje += $oResultadoFuncional->Puntaje;
$oDomador->PuntajeFuncional = $Puntaje;
}
usort($arrDomadores, array($oDomador, 'CompararPuntajeFuncional'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrDomadores); $i>=$Cantidad; $i--)
unset($arrDomadores[$i]);
return $arrDomadores;
}
public function GetAllDomadoresPremioMarcha(Calendario $oCalendario, array $filter = NULL, $Cantidad = 100)
{
$oResultadosMarcha = new InscripcionResultadosMarcha();
/* obtenemos listado de Domadores */
$arrDomadores = $this->GetAll($filter);
/* recorremos el listado y obtenemos los puntajes obtenidos por cada uno */
foreach ($arrDomadores as $oDomador)
{
$Puntaje = 0;
/* obtenemos maximos resultados de marcha */
$arrResultadosMarcha = $oResultadosMarcha->GetAllMaximosByDomadorCalendario($oDomador, $oCalendario);
/* acumulamos los puntajes de marcha */
foreach ($arrResultadosMarcha as $oResultadoMarcha)
$Puntaje += $oResultadoMarcha->Puntaje;
$oDomador->PuntajeMarcha = $Puntaje;
}
usort($arrDomadores, array($oDomador, 'CompararPuntajeMarcha'));
/* dejamos en el listado solo la cantidad especificada */
for ($i=count($arrDomadores); $i>=$Cantidad; $i--)
unset($arrDomadores[$i]);
return $arrDomadores;
}
public function GetCountRows(array $filter = NULL)
{
$sql = "SELECT *";
$sql.= " FROM tblDomadores";
$sql.= " WHERE 1";
if ($filter)
$sql.= $this->ParseFilter($filter);
if (!($oRes = $this->GetQuery($sql)))
return false;
$CountRows = $oRes->NumRows();
return $CountRows;
}
public function Create(Domador $oDomador)
{
$arr = array
(
'Nombre' => DB::String($oDomador->Nombre),
'Apellido' => DB::String($oDomador->Apellido),
'DocumentoNumero' => DB::String($oDomador->DocumentoNumero)
);
if (!$this->Insert('tblDomadores', $arr))
return false;
/* asignamos el id generado */
$oDomador->IdDomador = DBAccess::GetLastInsertId();
return $oDomador;
}
public function Update(Domador $oDomador)
{
$where = " IdDomador = " . DB::Number($oDomador->IdDomador);
$arr = array
(
'Nombre' => DB::String($oDomador->Nombre),
'Apellido' => DB::String($oDomador->Apellido),
'DocumentoNumero' => DB::String($oDomador->DocumentoNumero)
);
if (!DBAccess::Update('tblDomadores', $arr, $where))
return false;
return $oDomador;
}
public function Delete($IdDomador)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdDomador = " . DB::Number($IdDomador);
if (!DBAccess::Delete('tblDomadores', $where))
{
DBAccess::$db->Rollback();
return false;
}
DBAccess::$db->Commit();
return true;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat