Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.localidadcarga.php');
require_once('class.filter.php');
require_once('class.page.php');
class LocalidadesCargas extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
if ((isset($filter['Nombre'])) && ($filter['Nombre'] != ""))
$sql.= " AND l.Nombre LIKE '%" . DB::StringUnquoted($filter['Nombre']) . "%'";
if ((isset($filter['IdProvincia'])) && ($filter['IdProvincia'] != ""))
$sql.= " AND l.IdProvincia = " . DB::Number($filter['IdProvincia']);
if ((isset($filter['Disponible'])) && ($filter['Disponible'] != ""))
{
$sql.= " AND l.Disponible = " . DB::Bool($filter['Disponible']);
$sql.= " AND pr.Disponible = " . DB::Bool($filter['Disponible']);
}
return $sql;
}
public function GetAll(array $filter = NULL, Page $oPage = NULL)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " INNER JOIN tblProvinciasCargas pr ON l.IdProvincia = pr.IdProvincia";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY l.IdLocalidad";
$sql.= " ORDER BY l.Orden, pr.Orden ASC";
$sql.= ($oPage) ? Pageable::ParsePage($oPage) : "";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
array_push($arr, $oLocalidad);
$oRes->MoveNext();
}
return $arr;
}
public function GetAllByProvincia(ProvinciaCarga $oProvincia)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " WHERE l.IdProvincia = " . DB::Number($oProvincia->IdProvincia);
$sql.= " ORDER BY l.Nombre ASC";
if ( !($oRes = $this->GetQuery($sql)) )
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
array_push($arr, $oLocalidad);
$oRes->MoveNext();
}
return $arr;
}
public function GetAllByIdProvincia($IdProvincia)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " WHERE l.IdProvincia = " . DB::Number($IdProvincia);
$sql.= " ORDER BY l.Nombre ASC";
if ( !($oRes = $this->GetQuery($sql)) )
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
array_push($arr, $oLocalidad);
$oRes->MoveNext();
}
return $arr;
}
public function GetById($IdLocalidad)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " WHERE IdLocalidad = " . DB::Number($IdLocalidad);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
return $oLocalidad;
}
public function GetByNombre($Nombre)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " WHERE l.Nombre = " . DB::String($Nombre);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
return $oLocalidad;
}
public function GetByNombreAndProvincia($Nombre, $IdProvincia)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " WHERE l.Nombre = " . DB::String($Nombre);
$sql.= " AND l.IdProvincia = " . DB::Number($IdProvincia);
if (!($oRes = $this->GetQuery($sql)))
return false;
if (!($oRow = $oRes->GetRow()))
return false;
$oLocalidad = new LocalidadCarga();
$oLocalidad->ParseFromArray($oRow);
return $oLocalidad;
}
public function GetCountRows(array $filter = NULL)
{
$sql = "SELECT l.*";
$sql.= " FROM tblLocalidadesCargas l";
$sql.= " INNER JOIN tblProvinciasCargas pr ON l.IdProvincia = pr.IdProvincia";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY l.IdLocalidad";
if (!($oRes = $this->GetQuery($sql)))
return false;
$CountRows = $oRes->NumRows();
return $CountRows;
}
public function Create(LocalidadCarga $oLocalidad)
{
$arr = array
(
'IdProvincia' => DB::Number($oLocalidad->IdProvincia),
'Nombre' => DB::String($oLocalidad->Nombre),
'Disponible' => DB::Bool($oLocalidad->Disponible),
'Orden' => DB::Number($oLocalidad->Orden)
);
if (!$this->Insert('tblLocalidadesCargas', $arr))
return false;
$oLocalidad->IdLocalidad = DBAccess::GetLastInsertId();
return $oLocalidad;
}
public function Update(LocalidadCarga $oLocalidad)
{
$where = " IdLocalidad = " . DB::Number($oLocalidad->IdLocalidad);
$arr = array
(
'IdProvincia' => DB::Number($oLocalidad->IdProvincia),
'Nombre' => DB::String($oLocalidad->Nombre),
'Disponible' => DB::Bool($oLocalidad->Disponible),
'Orden' => DB::Number($oLocalidad->Orden)
);
if (!DBAccess::UpdateEntidad('tblLocalidadesCargas', $arr, $where))
return false;
return $oLocalidad;
}
public function Delete($IdLocalidad)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdLocalidad = " . DB::Number($IdLocalidad);
if (!DBAccess::DeleteEntidad('tblLocalidadesCargas', $where))
{
DBAccess::$db->Rollback();
return false;
}
DBAccess::$db->Commit();
return true;
}
public function Import($FileName)
{
$arrData = new Spreadsheet_Excel_Reader(UsuarioNewsletter::PathCsvImport . $FileName);
if (!DBAccess::$db->Begin())
return false;
$CountCreate = 0;
/* procesamos el archivo */
for ($i=2; $i<=$arrData->sheets[0]['numRows']; $i++)
{
$Localidad = $arrData->sheets[0]['cells'][$i];
if (trim($Localidad[1]) != '')
{
/* instanciamos variables necesarias */
$oLocalidad = new LocalidadCarga();
$oLocalidad->IdProvincia = trim($Localidad[1]);
$oLocalidad->Nombre = strtoupper(trim($Localidad[2]));
if (!$oLocalidadAux = $this->GetByNombreAndProvincia($oLocalidad->Nombre, $oLocalidad->IdProvincia))
{
$oLocalidad = $this->Create($oLocalidad);
$CountCreate++;
if (!$oLocalidad)
{
DBAccess::$db->Rollback();
return false;
}
}
}
else
{
if (trim($Localidad[1]) == '')
$strError.= "El registro N° " . $Row . " no se ha podido agregar debido a que esta vacio. <br>";
}
$Row++;
}
DBAccess::$db->Commit();
if ($strError == '') $strError = "Operación finalizada con éxito.";
if ($Creados == 1)
{
$strError.= "<br> Se dieron de alta " . $CountCreate . " registros.";
}
else
{
$strError.= "<br> No se ha dado de alta ningún usuario";
}
return $strError;
}
}
?>
Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat