File: C:/laragon/www/beplocal/ModificaOrdine.php
<?php
include_once 'DBClassConcentratore.php';
include_once 'DBClassOkta.php';
include_once 'Utilities.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'Exception.php';
require 'PHPMailer.php';
require 'SMTP.php';
$DatabaseConcentratore = new DatabaseConcentratore();
$conn = new PDO("sqlsrv:server=".$DatabaseConcentratore->db_host." ; Database=".$DatabaseConcentratore->db_name, $DatabaseConcentratore->db_user, $DatabaseConcentratore->db_password);
// get data and store in a json array
$idordine = $_POST['idOrdine'];
$note = $_POST['note'];
$email = $_POST['email'];
$listaProdotti =json_decode($_POST['prodotti']);
$emailagente = $_POST['emailAgente'];
$salvaSconto = $_POST['salvaSconto'];
$jwt = $_POST['jwt'];
$authLevel = $_POST['AUTH_LEVEL'];
if(verificaToken($jwt, $authLevel)) {
try{
//inserisco un nuovo ordine sul DB BeP
$databaseService = new DatabaseService();
$conn2 = $databaseService->getConnection();
$totalePezzi = 0;
$importoTotale = 0.0;
for($i=0; $i<sizeof($listaProdotti); $i++){
$totalePezzi += $listaProdotti[$i]->quantita ;
$importoTotale += $listaProdotti[$i]->prezzoSerie ;
}
//pulisco la tabella di dettaglio ordini dai componenti del vecchio ordine
$queryPulizia = "DELETE FROM `BePIstituzionale`.`DettaglioOrdini` where idOrdine = ".$idordine."";
$stmt2 = $conn2->prepare($queryPulizia);
$stmt2->execute();
//inserisco il dettaglio ordine sul DB BeP
$insertSql = "";
for($i=0; $i<sizeof($listaProdotti); $i++){
$insertSql = "INSERT INTO `BePIstituzionale`.`DettaglioOrdini` (`idOrdine`, `idProdotto`, `DescrizioneProdotto`, `Quantita`, `PrezzoIvato`, `ScontoPercentuale`, `PrezzoScontato`, `PrezzoSerie`, `SalvaSconto`) VALUES ".
"('".$idordine."', '".$listaProdotti[$i]->codiceAmus."', '".$listaProdotti[$i]->DescrizioneProdotto."', '".$listaProdotti[$i]->quantita."', '".$listaProdotti[$i]->prezzoProdotto."', '".$listaProdotti[$i]->sconto."', '".($listaProdotti[$i]->prezzoSerie/$listaProdotti[$i]->quantita)."', '".$listaProdotti[$i]->prezzoSerie."', '".$salvaSconto[$i]."');";
$stmt2 = $conn2->prepare($insertSql);
$stmt2->execute();
}
$insertOrdine = "UPDATE `BePIstituzionale`.`Ordini` SET PezziAcquistati = (SELECT sum(Quantita) from BePIstituzionale.DettaglioOrdini where idOrdine = '".$idordine."') , ImportoOrdine = (SELECT sum(PrezzoSerie) from BePIstituzionale.DettaglioOrdini where idOrdine = '".$idordine."'), Note = '".str_replace("'", "\'",$note)."', DataOrdine = now() where idOrdini = '".$idordine."'";
$stmt2 = $conn2->prepare($insertOrdine);
$stmt2->execute();
$result = array(
'message' => "Ordine Salvato con Successo ! Identificativo Ordine : ".$idordine,
);
echo json_encode($result);
//invio la mail di riepilogo dell'ordine al cliente
$mail = new PHPMailer();
if($email != ""){
try{
// Settings
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->Host = "smtp.office365.com"; // SMTP server example
$mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = "web@brillaeprofuma.ch"; // SMTP account username example
$mail->Password = "Ntl3@2021@"; // SMTP account password example
//Recipients
$mail->setFrom('web@brillaeprofuma.ch', 'Web BrillaeProfuma');
$mail->addAddress(''.$email); //Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC(''.$emailagente);
$mail->addBcc('amministrazione@brillaeprofuma.ch');
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Riepilogo Ordine Brilla e Profuma SA';
$mail->Body = '<h1>Riepilogo Ordine Brilla e Profuma n '.$idordine.'</h1><br>Gentile Cliente ,<br>Di seguito il riepilogo dell ordine appena effettuato.<br><br>'
.'<b>Lista Prodotti</b><br><br><table><thead><tr><th>Descrizione Prodotto</th><th>Prezzo Listino</th><th>Sconto</th><td>Prezzo Scontato</td><td>Quantita</td><td>Prezzo Serie</td></tr></thead>';
for($i=0; $i<sizeof($listaProdotti); $i++){
$mail->Body = $mail->Body . '<tr><td>'.$listaProdotti[$i]->DescrizioneProdotto.'</td><td>'.$listaProdotti[$i]->prezzoProdotto.'</td><td>'.$listaProdotti[$i]->sconto.'</td><td>'.($listaProdotti[$i]->prezzoSerie/$listaProdotti[$i]->quantita).'</td><td>'.$listaProdotti[$i]->quantita.'</td><td>'.$listaProdotti[$i]->prezzoSerie.'</td></tr>';
}
$mail->Body = $mail->Body . '</table><br><br><b>Totale Ordine : '.$importoTotale.' CHF </b><br><b>Totale pezzi : '.$totalePezzi.'</b><br><br><br><br>La ringraziamo di averci scelto e le auguriamo una buona giornata,<br>Brilla E Profuma';
$mail->send();
}
catch(Exception $e){
}
}
}
catch(Exception $e){
$result = array(
'message' => "Errore durante il salvataggio dell'ordine ! Contattare il supporto Tecnico"
);
echo json_encode($result);
}
} else {
echo json_encode(array('message' => "Errore nella procedura della tabela prodotti. Contattare il supporto tecnico"));
}
?>