Creare un gestionale per strutture ricettive in C# – 21 – Inserire Prenotazione nel Database

Creare un gestionale per strutture ricettive in C# - 21 - Inserire Prenotazione nel Database

Creare un gestionale per strutture ricettive in C# – 21 – Inserire Prenotazione nel Database: Ci avviciniamo sempre più alla fine del corso, ed in questo video andiamo quindi a caricare finalmente la prenotazione nel database.

In questa lezione infatti andremo a scrivere il codice che ci permetterà di inserire i dati della prenotazione nella tabella Prenotazioni del nostro database.

Inoltre andremo a scrivere una funzione che leggendo i dati presenti nelle listbox di Sconti e Costi Extra andrà a creare una stringa unica con gli elementi separati da un punto e virgola.

Creare un gestionale per strutture ricettive in C# – 21 – Inserire Prenotazione nel Database

Iniziamo con il codice usato per inserire i dati nel database:

if (btnAggiungi.Tag.ToString() == "aggiungi")
            {
                sqlQuery = "INSERT INTO [Prenotazioni] ([Id], [Nome], [Cognome], [Indirizzo], [Citta], [CAP], [Nazione], [DataNascita],"+
                    "[Nazionalita], [Telefono], [Email], [TipoDocumento], [CodiceDocumento], [Documento],"+
                    " [DataArrivo], [DataPartenza], [NumeroNotti], [NumeroOspiti], [Camera], [Note], [CostiExtra], [Sconti],"+
                    "[TasseSoggiorno], [MotivoEsenzione], [MetodoPagamento], [Totale]) VALUES ('" + IdCliente
                    + "', '" + txtNome.Text + "', '" + txtCognome.Text + "','" + txtIndirizzo.Text + "','" + txtCitta.Text
                    + "','" + txtCap.Text + "','" + cmbNazione.Text + "','" + "11/08/2021" + "','" + cmbNazionalita.Text +
                     "','" + txtTelefono.Text + "','" + txtEmail.Text + "','" + cmbTipoDocumento.Text + "','" + 
                     txtCodiceDocumento.Text + "','" + txtCaricaDocumento.Text + "','" + "11/08/2021" + "','" +
                     "11/08/2021" + "','" + numNotti.Value + "','" + numOspiti.Value + "','" + cmbCamera.Text + "','" + txtNote.Text +
                     "','" + StringaCostiExtra + "','" + StringaScontiExtra + "','" + SwitchTasseSoggiorno + "','" + txtMotivoEsenzione.Text +
                     "','" + cmbMetodoPagamento.Text + "','" + 0.0f + "')";
            }

Tramite questo codice andiamo a creare la stringa con la query da inviare al database.

Alcuni campi sono preimpostati perchè li andremo a vedere nel dettaglio nella prossima lezione.

Infatti per il momento, le date ed il prezzo finale hanno un valore fisso.

Quasi tutti i campi vengono letti direttamente dai rispettivi Input, andiamo però ad analizzare i campi che invece necessitano di una variabile.

IdCliente

Per l’IdCliente abbiamo deciso di farlo generare automaticamente al programma prendendo data di arrivo, nome e cognome del cliente.

SwitchTasseSoggiorno

Nel database le tasse di soggiorno hanno 2 valori possibili:

  • 0
  • 1

0 se non devono essere pagate, ed 1 se invece devono essere pagate.

Per questo motivo avremo bisogno di una variabile che controllando se è attiva la spunta sulla checkbox assegna uno dei 2 valori.

int SwitchTasseSoggiorno = 0;
            if (chkTasse.Checked == true)
            {
                SwitchTasseSoggiorno = 1;
            }
            else
            { SwitchTasseSoggiorno = 0; }

StringaCostiExtra e StringaScontiExtra

Extra e Sconti nella listbox sono inseriti come elementi separati, quindi per poterli inserire nel database dovremo creare necessariamente una stringa che li elenca tutti.

Per farlo quindi andremo a scrivere un codice che leggendo tutti gli elementi della Listbox li unisce in un’unica stringa separandoli con un punto e virgola.

string StringaDaListBox(ListBox ListBoxInput)
        {
            string StringaFinale = "";
            if (ListBoxInput.Items.Count > 0)
            {
                for (int a = 0; a < ListBoxInput.Items.Count; a++)
                {
                    StringaFinale = StringaFinale + ListBoxInput.Items[a];
                    if (a != ListBoxInput.Items.Count - 1)
                    {
                        StringaFinale = StringaFinale + ";";
                    }
                }
            }
            return StringaFinale;
        }

Questo codice va ad analizzare la Listbox passata in Input e se sono presenti elementi li aggiunge alla stringa.

Inoltre alla fine di ogni elemento, ad eccezione dell’ultimo, aggiunge un punto e virgola.

string StringaCostiExtra = StringaDaListBox(lstCosti);
string StringaScontiExtra = StringaDaListBox(lstSconti);

In questo modo poi andiamo a richiamare la funzione e a creare le 2 stringhe da passare poi al database.

author avatar
Claudio Masci
Sono innanzitutto un appassionato di informatica e tecnologia in generale. Lavoro in ambito informatico da circa 16 anni, spaziando in diversi campi, andando dalla programmazione web, allo sviluppo di software, dalla grafica alla modellazione 3d ed al video editing, ho sempre voluto approfondire ogni aspetto e questo mi ha permesso di lavorare in diversi ambiti informatici.