aggiunta campo codice ristocloud

This commit is contained in:
Francesco Di Sciascio 2025-04-30 12:01:33 +02:00
parent 73e46947cd
commit 4c80fdcdb3
7 changed files with 22 additions and 10 deletions

View File

@ -126,6 +126,7 @@ object PrenotazioniPastiTable : IdTable<Long>("prenotazioni_pasti"){
val idResidenza = long("id_residenza").nullable()
val idVassoio = long("id_vassoio")
val importoPagato = double("importo_pagato")
val codiceRistocloud = varchar("codice_ristocloud", 255).nullable()
}
object PrenotazioniPastiDettaglioTable : IdTable<Long>("prenotazioni_pasti_dettaglio"){
@ -257,6 +258,7 @@ class PrenotazioniPastiDao(id: EntityID<Long>) :LongEntity(id){
val idResidenza by PrenotazioniPastiTable.idResidenza
val idVassoio by PrenotazioniPastiTable.idVassoio
val importoPagato by PrenotazioniPastiTable.importoPagato
val codiceRistocloud by PrenotazioniPastiTable.codiceRistocloud
}
class PrenotazioniPastiDettaglioDao(id: EntityID<Long>) :LongEntity(id){
@ -404,7 +406,8 @@ fun prenotazioniPastiDaoToModel(dao: PrenotazioniPastiDao) : PrenotazioniPasti{
dao.idSlotPuntoCassa,
dao.idResidenza,
dao.idVassoio,
dao.importoPagato
dao.importoPagato,
dao.codiceRistocloud
)
}

View File

@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable
@Serializable
data class Prenotazioni(
val id: Long? = null,
val codicePrenotazione: String? = null,
val codiceRistocloud: String? = null,
val idTessera : Long,
val idSlotPuntoCassa : Long,
val giorno : String? = null,

View File

@ -9,5 +9,6 @@ data class PrenotazioniPasti(
val idSlotPuntoCassa : Long,
val idResidenza : Long? = null,
val idVassoio : Long,
val importoPagato : Double
val importoPagato : Double,
val codiceRistocloud : String? = null
)

View File

@ -13,6 +13,7 @@ class PrenotazioniPastiRepositoryImpl : PrenotazioniPastiRepository {
it[idResidenza] = prenotazionePasto.idResidenza
it[idVassoio] = prenotazionePasto.idVassoio
it[importoPagato] = prenotazionePasto.importoPagato
it[codiceRistocloud] = prenotazionePasto.codiceRistocloud
}.value
PrenotazioniPasti(
@ -21,7 +22,8 @@ class PrenotazioniPastiRepositoryImpl : PrenotazioniPastiRepository {
prenotazionePasto.idSlotPuntoCassa,
prenotazionePasto.idResidenza,
prenotazionePasto.idVassoio,
prenotazionePasto.importoPagato
prenotazionePasto.importoPagato,
prenotazionePasto.codiceRistocloud
)
}
}

View File

@ -8,5 +8,5 @@ interface SlotOrariRepository {
suspend fun idResidenzaByIdSlotOrario(idSlot : Long) : Long?
suspend fun slotOrarioById(idSlot : Long) : SlotOrari
suspend fun slotOrarioById(idSlot : Long) : SlotOrari?
}

View File

@ -30,9 +30,9 @@ class SlotOrariRepositoryImpl : SlotOrariRepository {
.idResidenza
}
override suspend fun slotOrarioById(idSlot : Long) : SlotOrari = suspendTransaction {
override suspend fun slotOrarioById(idSlot : Long) : SlotOrari? = suspendTransaction {
SlotPrenotabiliDao.find{ SlotPrenotabiliTable.id eq idSlot }
.single() // Restituisce un singolo risultato o null se non trovato
.let { slotOrariDaoToModel(it) } // Converte il DAO in un oggetto SlotOrari
.singleOrNull() // Restituisce un singolo risultato o null se non trovato
?.let { slotOrariDaoToModel(it) } // Converte il DAO in un oggetto SlotOrari
}
}

View File

@ -20,6 +20,11 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
val prenotazioneRequest = call.receive<Prenotazioni>()
//recupera lo slot orario selezionato
val idSlotOrario = slotOrariRepository.slotOrarioById(prenotazioneRequest.idSlotPuntoCassa)
if(idSlotOrario == null){
call.respond(HttpStatusCode.BadRequest,"Slot orario non esistente")
return@post
}
val prenotazionePasto = PrenotazioniPasti(
-1,
@ -27,7 +32,8 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
prenotazioneRequest.idSlotPuntoCassa,
idSlotOrario.idResidenza,
prenotazioneRequest.idVassoio,
prenotazioneRequest.importoPagato
prenotazioneRequest.importoPagato,
prenotazioneRequest.codiceRistocloud
)
//Inserisci la prenotazione nel database
@ -49,7 +55,7 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
//restituisci la prenotazione
val prenotazione = Prenotazioni(
prenotazioneInserita.id,
prenotazioneRequest.codicePrenotazione,
prenotazioneRequest.codiceRistocloud,
prenotazioneInserita.idTessera,
prenotazioneInserita.idSlotPuntoCassa,
idSlotOrario.giorno,