125 lines
3.6 KiB
JavaScript
125 lines
3.6 KiB
JavaScript
const apiUrl = "https://localhost:7297"; // Inserire qui l'URL del web server Kestrel
|
|
|
|
function listPizze(){
|
|
let reply;
|
|
const requestOptions = {
|
|
method: "GET",
|
|
redirect: "follow"
|
|
};
|
|
|
|
fetch(apiUrl + "/api/pizze", requestOptions)
|
|
.then((response) => response.json())
|
|
.then((pizze) => {
|
|
// Creiamo la tabella
|
|
let table = '<table><tr><th>ID</th><th>Nome</th><th>Prezzo</th><th>Note</th><th>Azioni</th></tr>';
|
|
|
|
// Aggiungiamo ogni pizza come riga della tabella
|
|
pizze.pizze.forEach(pizza => {
|
|
table += `<tr>
|
|
<td>${pizza.id}</td>
|
|
<td>${pizza.nome}</td>
|
|
<td>${pizza.prezzo.toFixed(2)}€</td>
|
|
<td>${pizza.note}</td>
|
|
<td><button class="editBtn" onclick="editPizza(${pizza.id})">Modifica</button>
|
|
<button class="delBtn" onclick="deletePizza(${pizza.id})">X</button></td>
|
|
</tr>`;
|
|
});
|
|
|
|
table += '</table>';
|
|
|
|
// Inseriamo la tabella nel div
|
|
document.getElementById('tabellaPizze').innerHTML = table;
|
|
})
|
|
.catch((error) => {
|
|
console.error(error)
|
|
alert("Errore nel recupero delle pizze, controllare la console per dettagli sull'errore.");
|
|
});
|
|
}
|
|
|
|
function deletePizza(id){
|
|
const requestOptions = {
|
|
method: "DELETE",
|
|
redirect: "follow"
|
|
};
|
|
|
|
fetch(apiUrl + "/api/pizze/" + id, requestOptions)
|
|
.then((response) => response.text())
|
|
.then((result) => {
|
|
alert("Pizza eliminata con successo!");
|
|
listPizze();
|
|
})
|
|
.catch((error) => {
|
|
console.error(error)
|
|
alert("Errore nell'eliminazione della pizza, controllare la console per dettagli sull'errore.");
|
|
});
|
|
}
|
|
|
|
function editPizza(id){
|
|
let prezzo = prompt("Inserire prezzo da assegnare");
|
|
|
|
if (prezzo){
|
|
const myHeaders = new Headers();
|
|
myHeaders.append("Content-Type", "application/json");
|
|
|
|
const raw = JSON.stringify({
|
|
"prezzo": prezzo
|
|
});
|
|
|
|
const requestOptions = {
|
|
method: "PUT",
|
|
headers: myHeaders,
|
|
body: raw,
|
|
redirect: "follow"
|
|
};
|
|
|
|
fetch(apiUrl + "/api/pizze/" + id, requestOptions)
|
|
.then((response) => response.text())
|
|
.then((result) => {
|
|
alert("Pizza modificata con successo!");
|
|
listPizze();
|
|
})
|
|
.catch((error) => {
|
|
console.error(error)
|
|
alert("Errore nella modifica, controllare la console per dettagli sull'errore.");
|
|
});
|
|
}
|
|
}
|
|
|
|
function addPizza(nome, prezzo, note){
|
|
const myHeaders = new Headers();
|
|
myHeaders.append("Content-Type", "application/json");
|
|
|
|
const raw = JSON.stringify({
|
|
"nome": nome,
|
|
"prezzo": prezzo,
|
|
"note": note
|
|
});
|
|
|
|
const requestOptions = {
|
|
method: "POST",
|
|
headers: myHeaders,
|
|
body: raw,
|
|
redirect: "follow"
|
|
};
|
|
|
|
fetch(apiUrl + "/api/pizze", requestOptions)
|
|
.then((response) => response.text())
|
|
.then((result) => {
|
|
alert("Pizza aggiunta con successo! Aggiorna la lista per mostrarla in pagina.");
|
|
window.close();
|
|
})
|
|
.catch((error) => {
|
|
console.error(error)
|
|
alert("Errore nell'aggiunta, controllare la console per dettagli sull'errore.");
|
|
});
|
|
}
|
|
|
|
function handleAddPizza(event){
|
|
event.preventDefault();
|
|
|
|
const nome = document.getElementById("name").value;
|
|
const prezzo = document.getElementById("price").value;
|
|
const note = document.getElementById("note").value;
|
|
|
|
addPizza(nome, prezzo, note);
|
|
} |