/// <summary> /// Deze functie maakt een evenement aan in de database door de BU Evenement aan te roepen en vervolgens wordt in de db tabel reservering een n aantal reserveringen aangemaakt op basis van het aantal ingevuld personen /// </summary> /// <param name="nieuwEvent"> is een dictionary van de ingevulde data op de pagina</param> /// <returns></returns> public string AddEvent(Dictionary<string, object> nieuwEvent) { //convert dictionary naar Evenement parameters int korting = Int32.Parse(nieuwEvent["Korting"].ToString()); int aantalReserveringen = Int32.Parse(nieuwEvent["AantalPersonen"].ToString()); DateTime datum = DateTime.Parse(nieuwEvent["Datum"].ToString()); Evenement evenement = new Evenement() { Naam = nieuwEvent["Naam"].ToString(), Soort = nieuwEvent["Soort"].ToString(), Datum = datum, MaxAantalPersonen = aantalReserveringen, Korting = korting }; List<string> response = evenement.AddEvent(evenement); // evenement toevoegen aan database for (int i = 0; i < aantalReserveringen; i++) // x aantal reserveringen inplannen zodat de dierentuin gereserveerd word { Evenement ev = new Evenement(); Reservering res = new Reservering() { Naam = nieuwEvent["Naam"].ToString(), Datum = datum, Evenement = ev.GetEvent(Int32.Parse(response[1])) }; response[0] = res.ReserveringPlaatsen(res); //reserveringen opslaan in database } return response[0]; // Zijn er problemen? }
/// <summary> /// Returned het laatste toegevoegde evenement object /// </summary> /// <param name="Id"> is de waarde van de response[1] list in de bovenstaande functie</param> /// <returns>het laatst aangemaakte object</returns> public Evenement GetEvent(int Id) { Evenement evenement = new Evenement(); using (LamaGaanModelContainer context = new LamaGaanModelContainer()) { IQueryable<Evenement> naamQuery = from p in context.Evenement where p.Id == Id select p; foreach (Evenement p in naamQuery) { if (p != null) { evenement = p; } } } return evenement; }
/// <summary> /// Voegt een nieuw evenement toe aan de database. /// </summary> /// <param name="nieuwEvenement"> dictionary van de toegevoegde data, doorgezet vanuit de CC laag.</param> /// <returns>returned een list waarbij index 0 een string is waarin staat of het event aanmaken is gelukt of niet en index 1 het laatst toegevoegde id.</returns> public List<string> AddEvent(Evenement nieuwEvenement) { List<string> response = new List<string>(); response.Add("response text"); response.Add("Event Id"); using (LamaGaanModelContainer db = new LamaGaanModelContainer()) { db.Entry(nieuwEvenement).State = EntityState.Modified; db.Evenement.Add(nieuwEvenement); try { db.SaveChanges(); response[1] = nieuwEvenement.Id.ToString(); // id van pas toegevoegd evenement response[0] = "Evenement toevoegen was succesvol."; } catch (Exception) { response[0] = "Evenement toevoegen mislukt."; } } return response; }