//metodo per cancellare una sala da DB utilizzando l' oggetto SalaDetail (non utilizzato attualmente) public static void DeleteSala(SalaDetail sala) { var db = new DAL.AperitivoEntities(); var mySala = DTOtoEntity(sala); var result = db.Sala.Add(mySala); db.SaveChanges(); }
//metodo per cancellare un evento da DB utilizzando l' ID evento inviato dal client public static void DeleteEvento(int id) { var db = new DAL.AperitivoEntities(); var myEvento = db.Evento.Where(r => r.ID == id).FirstOrDefault(); var myResult = db.Evento.Remove(myEvento); db.SaveChanges(); }
//metodo per cancellare una prenotazione da DB utilizzando l' ID evento inviato dal client public static void DeletePrenotazione(int id) { var db = new DAL.AperitivoEntities(); var myPrenotazione = db.Prenotazione.Where(r => r.ID == id).FirstOrDefault(); var myResult = db.Prenotazione.Remove(myPrenotazione); Interaction.MsgBox(myResult.Descrizione + " cancellata", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Cancellazione Prenotazione"); db.SaveChanges(); }
//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"); } }
//metodo per inserire un evento in DB utilizzando i valori inviati dal client public static void AddEvento(EventoDetail evento) { var db = new DAL.AperitivoEntities(); int anno = evento.Data.Value.Year; var myEvento = DTOtoEntity(evento); myEvento.Anno = anno.ToString(); var result = db.Evento.Add(myEvento); Interaction.MsgBox("Evento '" + myEvento.Descrizione + "' inserito", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Inserimento Nuovo Evento"); db.SaveChanges(); }
//metodo per settare una sala da disponible o meno alla prenotazione di un evento public static void UpdateSala(int id, bool value) { var nome = ""; var db = new DAL.AperitivoEntities(); var query = from s in db.Sala where s.ID == id select s; foreach (DAL.Sala sala in query) { nome = sala.Nome.ToString(); sala.Prenotabile = value; } Interaction.MsgBox("Sala '" + nome + "' aggiornata", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Prenotabilità Sala"); db.SaveChanges(); }
//metodo per inserire una prenotazione in DB utilizzando i valori inviati dal client, public static string AddSala(SalaDetail sala) { var db = new DAL.AperitivoEntities(); var nomeSala = db.Sala.Where(s => s.Nome == sala.Nome).FirstOrDefault(); if (nomeSala is null) { var mySala = DTOtoEntity(sala); var result = db.Sala.Add(mySala); Interaction.MsgBox("Sala '" + sala.Nome + "' inserita", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Inserimento Nuova Sala"); db.SaveChanges(); return("ok"); } else { Interaction.MsgBox("Nome Sala '" + sala.Nome + "' già presente", MsgBoxStyle.OkOnly | MsgBoxStyle.Information, "Inserimento Nuova Sala"); return("ko"); } }