Mister Spy Say ="Hello Kids ... :D"
___ ____ _ _____
| \/ (_) | | / ___|
| . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _
| |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | |
| | | | \__ \ || __/ | /\__/ / |_) | |_| |
\_| |_/_|___/\__\___|_| \____/| .__/ \__, |
| | __/ |
|_| |___/
Bot Mister Spy V3
Mister Spy
Mister Spy
<?php
require_once('class.dbaccess.php');
require_once('class.destino.php');
require_once('class.filter.php');
require_once('class.page.php');
class Destinos extends DBAccess implements IFilterable
{
public function ParseFilter(array $filter)
{
$sql = '';
if ((isset($filter['IdLocalidad'])) && ($filter['IdLocalidad'] != ""))
$sql.= " AND d.IdLocalidad = " . DB::Number($filter['IdLocalidad']);
if ((isset($filter['IdProvincia'])) && ($filter['IdProvincia'] != ""))
$sql.= " AND d.IdProvincia = " . DB::Number($filter['IdProvincia']);
if ((isset($filter['Disponible'])) && ($filter['Disponible'] != ""))
{
$sql.= " AND d.Disponible = " . DB::Bool($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 d.*";
$sql.= " FROM tblDestinos d";
$sql.= " INNER JOIN tblLocalidadesCargas l ON d.IdLocalidad = l.IdLocalidad";
$sql.= " INNER JOIN tblProvinciasCargas pr ON l.IdProvincia = pr.IdProvincia";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY d.IdDestino";
$sql.= " ORDER BY pr.Orden, l.Orden ASC";
$sql.= ($oPage) ? Pageable::ParsePage($oPage) : "";
if (!($oRes = $this->GetQuery($sql)))
return false;
$arr = array();
while ($oRow = $oRes->GetRow())
{
$oDestino = new Destino();
$oDestino->ParseFromArray($oRow);
array_push($arr, $oDestino);
$oRes->MoveNext();
}
return $arr;
}
public function GetCountRows(array $filter = NULL)
{
$sql = "SELECT d.*";
$sql.= " FROM tblDestinos d";
$sql.= " INNER JOIN tblLocalidadesCargas l ON d.IdLocalidad = l.IdLocalidad";
$sql.= " INNER JOIN tblProvinciasCargas pr ON l.IdProvincia = pr.IdProvincia";
$sql.= " WHERE 1";
$sql.= ($filter) ? $this->ParseFilter($filter) : "";
$sql.= " GROUP BY d.IdDestino";
if (!($oRes = $this->GetQuery($sql)))
return false;
$CountRows = $oRes->NumRows();
return $CountRows;
}
public function Create(Destino $oDestino)
{
$arr = array
(
'IdProvincia' => DB::Number($oDestino->IdProvincia),
'IdLocalidad' => DB::Number($oDestino->IdLocalidad),
'Cabecera' => DB::String($oDestino->Cabecera),
'LeadTime' => DB::String($oDestino->LeadTime),
'Frecuencia' => DB::String($oDestino->Frecuencia),
'CodigoTarifario' => DB::String($oDestino->CodigoTarifario),
'Disponible' => DB::Bool($oDestino->Disponible)
);
if (!$this->Insert('tblDestinos', $arr))
return false;
$oDestino->IdDestino = DBAccess::GetLastInsertId();
return $oDestino;
}
public function Update(Destino $oDestino)
{
$where = " IdDestino = " . DB::Number($oDestino->IdDestino);
$arr = array
(
'IdProvincia' => DB::Number($oDestino->IdProvincia),
'IdLocalidad' => DB::Number($oDestino->IdLocalidad),
'Cabecera' => DB::String($oDestino->Cabecera),
'LeadTime' => DB::String($oDestino->LeadTime),
'Frecuencia' => DB::String($oDestino->Frecuencia),
'CodigoTarifario' => DB::String($oDestino->CodigoTarifario),
'Disponible' => DB::Bool($oDestino->Disponible)
);
if (!DBAccess::UpdateEntidad('tblDestinos', $arr, $where))
return false;
return $oDestino;
}
public function Delete($IdDestino)
{
if (!DBAccess::$db->Begin())
return false;
$where = " IdDestino = " . DB::Number($IdDestino);
if (!DBAccess::DeleteEntidad('tblDestinos', $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;
$oLocalidades = new LocalidadesCargas();
/* procesamos el archivo */
for ($i=2; $i<=$arrData->sheets[0]['numRows']; $i++)
{
$Destino = $arrData->sheets[0]['cells'][$i];
if (trim($Destino[1]) != '')
{
/* instanciamos variables necesarias */
$oDestino = new Destino();
$oDestino->IdProvincia = trim($Destino[1]);
$NombreLocalidad = trim($Destino[2]);
if (!$oLocalidad = $oLocalidades->GetByNombreAndProvincia($NombreLocalidad, $oDestino->IdProvincia))
{
print_R($NombreLocalidad);print_R($oDestino->IdProvincia);exit;
continue;
}
$oDestino->IdLocalidad = $oLocalidad->IdLocalidad;
$oDestino->Cabecera = strtoupper(trim($Destino[3]));
$oDestino->LeadTime = strtoupper(trim($Destino[4]));
$oDestino->Frecuencia = strtoupper(trim($Destino[5]));
$oDestino->CodigoTarifario = strtoupper(trim($Destino[6]));
$oDestino->Disponible = 1;
if (true)
{
$oDestino = $this->Create($oDestino);
$CountCreate++;
if (!$oDestino)
{
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