Exemplo n.º 1
0
        //     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);
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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);
        }