// VERANDER DE CAPACITEIT IN DE DB public bool ChangeCapacity(AfgerondeBestelling bestelling) { bool Changegelukt = false; //verander voor elke reservering de capaciteit in de database foreach (ShoppingCartItem e in bestelling.Events) { //zet gelukt weer op false voor volgende item; Changegelukt = false; Locatie eventLocatie = e.Gebeurtenis.Locatie; //haal huidige capaciteit op int huidigecapaciteit = Convert.ToInt32(ctx.Locatie.Where(c => c.id == e.Gebeurtenis.Locatie.id).Select(c => c.capaciteit).SingleOrDefault()); //als huidige capaciteit groter of gelijk aan gewenste if (huidigecapaciteit >= e.AantalPersonen) { try { //probeer capaciteit aan te passen (from l in ctx.Locatie where l.id.Equals(eventLocatie.id) select l) .ToList() .ForEach(c => c.capaciteit = c.capaciteit - e.AantalPersonen); ctx.SaveChanges(); Changegelukt = true; } catch { } } } return(Changegelukt); }
public void KoppelKlantReservering(int klantId, AfgerondeBestelling Bestelling) { // Maak voor elk bestelde event een Klant-reservering in de database met reserveringId van de klant int reserveringsId = GetReserveringId(klantId); foreach (ShoppingCartItem i in Bestelling.Events) { Klant_reservering kl = new Klant_reservering(reserveringsId, i.Gebeurtenis.EventId, i.Gebeurtenis.prijs, i.AantalPersonen); ctx.Klant_reservering.Add(kl); ctx.SaveChanges(); } }
public AfgerondeBestelling CheckoutToBestelling(CheckoutModel checkout) { Klant klant = new Klant(checkout.Email, checkout.VoorNaam, checkout.AchterNaam, checkout.TelefoonNummer); List <ShoppingCartItem> lijst = new List <ShoppingCartItem>(); foreach (ShoppingCartItem e in checkout.Reserveringen.Items) { lijst.Add(e); } //Order lijst bij datum lijst.OrderBy(c => c.Gebeurtenis.begin_datumtijd); AfgerondeBestelling Bestelling = new AfgerondeBestelling(klant, lijst); return(Bestelling); }