Beispiel #1
0
        //metodo per inserire una prenotazione in DB utilizzando i valori inviati dal client,
        //verificando se esiste una prenotazione che si sovrappone per orario nella stessa sala
        public static string AddPrenotazione(PrenotazioneDetail prenotazione)
        {
            var db = new DAL.AperitivoEntities();

            var dbPrenotazioniInizio = from p in db.Prenotazione
                                       where p.PrenotazioneSala == prenotazione.PrenotazioneSala
                                       select p.DataInizio;
            var dbPrenotazioniFine = from p in db.Prenotazione
                                     where p.PrenotazioneSala == prenotazione.PrenotazioneSala
                                     select p.DataFine;
            var verifica_prima = "ok";
            var verifica_dopo  = "ok";

            foreach (var datai in dbPrenotazioniInizio)
            {
                if ((prenotazione.DataInizio < datai) && (prenotazione.DataFine < datai))
                {
                    verifica_prima = "ok";
                }
                else
                {
                    verifica_prima = "ko";
                    break;
                }
            }

            if (verifica_prima == "ko")
            {
                foreach (var dataf in dbPrenotazioniFine)
                {
                    if ((prenotazione.DataInizio > dataf) && (prenotazione.DataFine > dataf))
                    {
                        verifica_dopo = "ok";
                    }
                    else
                    {
                        verifica_dopo = "ko";
                        break;
                    }
                }
            }

            if ((verifica_prima == "ok") || (verifica_dopo == "ok"))
            {
                var myPrenotazione = DTOtoEntity(prenotazione);
                var result         = db.Prenotazione.Add(myPrenotazione);
                db.SaveChanges();
                Interaction.MsgBox(result.Descrizione + " inserita", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Inserimento Nuova Prenotazione");
                return("ok");
            }
            else
            {
                return("ko");
            }
        }
Beispiel #2
0
 public static DAL.Prenotazione DTOtoEntity(PrenotazioneDetail prenotazione)
 {
     return(new DAL.Prenotazione()
     {
         ID = prenotazione.ID,
         DataInizio = prenotazione.DataInizio,
         DataFine = prenotazione.DataFine,
         Descrizione = prenotazione.Descrizione,
         PrenotazioneEvento = prenotazione.PrenotazioneEvento,
         PrenotazioneRisorsa = prenotazione.PrenotazioneRisorsa,
         PrenotazioneSala = prenotazione.PrenotazioneSala
     });
 }