Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

116 righe
3.6 KiB

<?php
require_once ROOT . "/lib/classes/IDataClass.php";
class CustomerSatisfaction extends DataClass {
const TABLE_NAME = "CUSTOMER_SATISFACTION";
const SEQ_NAME = "CUSTOMER_SATISFACTION_ID_SEQ";
public $ID = 0; // Primary key
public $CODICE_FISCALE = "";
public $VALORE = "";
public $DATA = "";
public function __construct($src = null) {
global $con;
$stripSlashes = false;
if ($src == null) {
return;
}
if (is_array($src)) {
$this->_loadByRow($src, $stripSlashes);
} elseif (is_string($src)) {
// Carichiamo tramite ID
$sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :ID";
$query = $con->prepare($sql);
$query->bindParam(":ID", $src);
try {
$query->execute();
$it = $query->fetchAll(PDO::FETCH_ASSOC);
Utils::FillObjectFromRow($this, $it[0]);
} catch (Exception $exc) {
$exc->getMessage();
}
}
}
public static function getByCf() {
global $con, $LoggedAccount;
$codiceFiscale = $LoggedAccount->CODICE_FISCALE;
$sql = "SELECT " . self::TABLE_NAME . ".*, TO_CHAR(DATA, 'dd-MM-YYYY HH24:MI:SS') AS DATA_ITA FROM " . self::TABLE_NAME . " WHERE CODICE_FISCALE = :codice_fiscale";
$query = $con->prepare($sql);
$query->bindParam(":codice_fiscale", $codiceFiscale);
try {
$query->execute();
$it = $query->fetch(PDO::FETCH_ASSOC);
} catch (Exception $exc) {
}
return $it;
}
public static function getData() {
global $con;
$sql = "SELECT VALORE, COUNT(*) AS CONTEGGIO FROM " . self::TABLE_NAME . " WHERE VALORE IN (1, 2, 3) GROUP BY VALORE ORDER BY VALORE";
$query = $con->prepare($sql);
try {
$query->execute();
$it = $query->fetchAll(PDO::FETCH_ASSOC);
} catch (Exception $exc) {
}
return $it;
}
public static function checkVerificaDatiPreSalvataggio() {
$_POST['VALORE'] = intval(Utils::get_filter_int_POST('VALORE'));
}
public function checkDatiPreSave() {
$response = array();
$controllValidita = true;
$dati_mancanti = '';
if ($this->CODICE_FISCALE == "") {
$controllValidita = false;
$dati_mancanti .= "Codice Fiscale assente<br>";
}
if ($this->VALORE != 1 && $this->VALORE != 2 && $this->VALORE != 3) {
$controllValidita = false;
$dati_mancanti .= "E' necessario esprimere un voto per proseguire nel salvataggio.";
}
$response['checkDati'] = $controllValidita;
$response['txt_dati_mancanti'] = $dati_mancanti;
return $response;
}
public function Save() {
global $con, $LoggedAccount;
$vars = get_object_vars($this);
/* REMOVE LOCAL VAR */
unset($vars['DATA']);
/**/
$sql = Utils::prepareQuery(self::TABLE_NAME, $vars);
$queryabi = $con->prepare($sql);
foreach ($vars as $k => $v) {
if ($k == "ID" && $v == 0){
continue;
}
$queryabi->bindValue(":" . $k, $v);
}
try {
$it = parent::_Save($queryabi);
} catch (Exception $exc) {
$it['esito'] = -999;
$it['erroreDescrizione'] = $exc->getMessage();
}
return $it;
}
public function Parse(&$record, $campo = "") {
array_push($record, array("Campo" => $campo, "Valore" => $this->$campo));
}
}