forked from maiora/backend-api
aggiunta campo codice ristocloud
This commit is contained in:
parent
73e46947cd
commit
4c80fdcdb3
@ -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
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
)
|
@ -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
|
||||
)
|
||||
}
|
||||
}
|
@ -8,5 +8,5 @@ interface SlotOrariRepository {
|
||||
|
||||
suspend fun idResidenzaByIdSlotOrario(idSlot : Long) : Long?
|
||||
|
||||
suspend fun slotOrarioById(idSlot : Long) : SlotOrari
|
||||
suspend fun slotOrarioById(idSlot : Long) : SlotOrari?
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user