/**
  * La funzione salva nel database un preventivo restituendo in caso di successo 
  * l'id del record nel database
  * @param Preventivo $p
  * @return type
  */
 public function savePreventivo(Preventivo $p)
 {
     try {
         //imposto il timezone
         date_default_timezone_set('Europe/Rome');
         $timestamp = date('Y-m-d H:i:s', strtotime("now"));
         $this->wpdb->insert($this->table, array('data' => $timestamp, 'id_utente' => $p->getIdUtente(), 'nome_rivenditore' => $p->getNomeRivenditore(), 'cliente_nome' => $p->getClienteNome(), 'cliente_via' => $p->getClienteVia(), 'cliente_tel' => $p->getClienteTel(), 'spesa_totale' => $p->getSpesaTotale(), 'visionato' => 0, 'note' => $p->getNote(), 'tipo' => $p->getTipo(), 'cliente_tipo' => $p->getClienteTipo(), 'cliente_email' => $p->getClienteEmail(), 'cliente_cf' => $p->getClienteCF(), 'codice_rivenditore' => $p->getCodiceRivenditore(), 'agente' => $p->getAgente(), 'sconto_rivenditore' => $p->getScontoRivenditore(), 'trasporto' => $p->getTrasporto()), array('%s', '%d', '%s', '%s', '%s', '%s', '%f', '%d', '%s', '%d', '%s', '%s', '%s', '%s', '%s', '%f', '%f'));
         //restituisco l'id del record di preventivo inserito
         return $this->wpdb->insert_id;
     } catch (Exception $ex) {
         _e($ex);
         return false;
     }
 }
 public function createBody(Preventivo $p, $ordine = false)
 {
     define('EURO', chr(128));
     //scrivo i dati generali del preventivo
     $infissi = $p->getInfissi();
     //creo l'array associativo
     $info_preventivo = array();
     $info_preventivo['Data'] = getTime($p->getData());
     $info_preventivo['Codice Rivenditore'] = $p->getCodiceRivenditore();
     $info_preventivo['Rivenditore'] = $p->getNomeRivenditore();
     $info_preventivo['Agente'] = $p->getAgente();
     $info_preventivo['Tipo Cliente'] = $p->getClienteTipo();
     $info_preventivo['Riferimento'] = $p->getClienteNome();
     $info_preventivo['CF/PIVA'] = $p->getClienteCF();
     $info_preventivo['Indirizzo'] = $p->getClienteVia();
     $info_preventivo['Telefono'] = $p->getClienteTel();
     $info_preventivo['Email'] = $p->getClienteEmail();
     $tipo = "";
     if ($ordine == false) {
         if ($p->getTipo() == 0) {
             $tipo = 'Preventivo';
         } else {
             $tipo = 'Conferma Ordine';
         }
     } else {
         $tipo = "Conferma Ordine";
     }
     $info_preventivo['Documento'] = $tipo;
     //conto tutti gli infissi ordinati comprensivi di copie
     $countInfissi = 0;
     foreach ($infissi as $i) {
         $inf = new Infisso();
         $inf = $i;
         $countInfissi += $inf->getNInfisso();
     }
     $info_preventivo['Totale Infissi'] = $countInfissi;
     $info_preventivo['Totale'] = EURO . ' ' . $p->getSpesaTotale();
     if ($p->getScontoRivenditore() != '' && $p->getScontoRivenditore() != 0) {
         $totaleScontato = number_format($p->getSpesaTotale() - floatval($p->getScontoRivenditore()) * $p->getSpesaTotale() / 100, 2);
     } else {
         $totaleScontato = ' ';
     }
     $sconto = '';
     if ($p->getScontoRivenditore() != 0) {
         $sconto = $p->getScontoRivenditore() . ' %';
     }
     $info_preventivo['Sconto Rivenditore'] = $sconto;
     $info_preventivo['Totale scontato'] = EURO . ' ' . $totaleScontato;
     $trasporto = ' ';
     if ($p->getTrasporto() != '' && $p->getTrasporto() != 0) {
         $trasporto = number_format($p->getTrasporto(), 2);
     }
     $info_preventivo['Costo trasporto'] = EURO . ' ' . $trasporto;
     $info_preventivo['Note'] = $p->getNote();
     $this->printPdfTable($info_preventivo);
     /*
     //stampo una linea
         $this->Ln(3);
         $this->Cell(180,0,'',1);
         $this->Ln(3);
     */
     //scrivo la tabella per gli infissi
     $this->printTableInfissi($infissi);
 }