public Reservatie AddReservatie(Reservatie reservatie)
        {
            var restaurant = _context.Restaurants.Include(a => a.Menu)
                             .Include(a => a.Menu.Desserts)
                             .Include(a => a.Menu.Dranken)
                             .Include(a => a.Menu.Hoofdgerechten)
                             .Include(a => a.Menu.Voorgerechten)
                             .Include(a => a.Reservaties)
                             .Include(a => a.Openingsuren)
                             .Include(a => a.Locatie)
                             .Include(a => a.Tafels)
                             .Include("Tafels.BezetteMomenten")
                             .SingleOrDefault(a => a.RestaurantId == reservatie.Restaurant.RestaurantId);

            if (!CheckVoorPlaats(reservatie, restaurant))
            {
                return(null);
            }
            var finalReservatie = CreateNewReservationObject(reservatie);
            var tafel           = restaurant.Tafels.FirstOrDefault(a => a.TafelNr == finalReservatie.TafelNr);
            var tijdstipInt     = int.Parse((finalReservatie.Tijdstip.Split(':'))[0]) + tafel.UrenBezet;
            var tijdstipString  = $"{tijdstipInt}:00";

            tafel.BezetteMomenten.Add(
                new Tijdsmoment()
            {
                Datum = finalReservatie.Datum,
                Tot   = tijdstipString,
                Van   = finalReservatie.Tijdstip
            });
            restaurant.Reservaties.Add(finalReservatie);
            //_context.Restaurants.Update(restaurant);
            return(reservatie);
        }
Example #2
0
 public void Initialize()
 {
     context    = new DummyCatalogusContext();
     reservatie = new Reservatie {
         ReservatieLijnen = new List <ReservatieLijn>()
     };
 }
        public ActionResult AddReservatie(Gebruiker gebruiker, int aantal, int id, string datum) {
            try {
              
               
                    Product prod = productRepository.FindByProductNummer(id);

                    //methode voor reserveerknop, die aantal meegeeft aan methode product.Reserveer

                    DateTime date = Helper.ZetDatumOm(datum);
                    ReservatieAbstr reservatie = new Reservatie(prod, aantal, gebruiker, date);


                        gebruiker.VoegReservatieAbstrToe(reservatie);
                        gebruikerRepository.SaveChanges();
                        TempData["Info"] = "Product " + productRepository.FindByProductNummer(id).Naam +
                                           " is gereserveerd.";
                   

            }
            catch (ArgumentException e) {
                TempData["ReservatieFail"] = e.Message;
            }
            catch {
                TempData["ReservatieFail"] = "Reservatie toevoegen is niet gelukt";


            }


            return RedirectToAction("Index");
        }
        private bool CheckVoorPlaats(Reservatie reservatie, Restaurant restaurant)
        {
            var gevraagdeTijdstip = int.Parse((reservatie.Tijdstip.Split(':'))[0]);

            foreach (Tafel tafel in restaurant.Tafels)
            {
                if (tafel.Zitplaatsen >= reservatie.AantalPersonen)
                {
                    if (tafel.BezetteMomenten.Count <= 1)
                    {
                        reservatie.TafelNr = tafel.TafelNr;
                        return(true);
                    }
                    foreach (Tijdsmoment tijdstip in tafel.BezetteMomenten)
                    {
                        if (reservatie.Datum == tijdstip.Datum &&
                            gevraagdeTijdstip >= int.Parse(tijdstip.Tot.Split(':')[0]) ||
                            reservatie.Datum == tijdstip.Datum &&
                            gevraagdeTijdstip <= int.Parse(tijdstip.Van.Split(':')[0]) - tafel.UrenBezet)
                        {
                            reservatie.TafelNr = tafel.TafelNr;
                            return(true);
                        }
                    }
                }
            }
            return(false);
        }
Example #5
0
        private void ReservatieAanmakenButton_Click(object sender, RoutedEventArgs e)
        {
            if (KlantNrTextBox.Text != null && DataGridLimousines.SelectedItem != null)
            {
                int               klantNr         = int.Parse(KlantNrTextBox.Text);
                DateTime          startDatum      = (DateTime)DatePickerCalender.SelectedDate;
                Arrengement       arrengement     = (Arrengement)ArrengementTypeList.SelectedItem;
                int               startUur        = (int)BeschikbareUrenList.SelectedItem;
                int               duur            = (int)DuurLijst.SelectedItem;
                int               limoId          = ((Limousine)DataGridLimousines.SelectedItem).Id;
                string            verwachtAdres   = VerwachtAdresTextBox.Text;
                StalLocatie       EindStalPlaats  = (StalLocatie)EindLocatieComboBox.SelectedItem;
                StalLocatie       StartStalPlaats = (StalLocatie)StartLocatieComboBox.SelectedItem;
                ReservatieManager rM     = new ReservatieManager(new ReservatieDatabaseHandler());
                Reservatie        toShow = rM.ReservatieMakenEnReturnen(klantNr, startDatum, arrengement, startUur, duur, limoId, StartStalPlaats, EindStalPlaats, verwachtAdres);

                ReservatieDetailsWindow detailsWindow = new ReservatieDetailsWindow(toShow);
                detailsWindow.Show();
                this.Close();
            }
            else
            {
                MessageBox.Show("Gelieve een klantenNummer in te vullen en een voertuig te selecteren.", "Onvolledige reservering", MessageBoxButton.OK);
            }
        }
Example #6
0
        public void VoegReservatieToePastOverrulingToeWanneerErGeenGenoegProductenBeschikbaarZijn()
        {
            Email[] email = { context.Email, context.Email, context.Email };
            student.Verlanglijst.VoegProductToe(context.Schatkist);
            map.Add(context.Schatkist, 1);
            student.VoegReservatieToe(map, van, tot, email);

            personeel.Verlanglijst.VoegProductToe(context.Schatkist);
            map.Clear();
            map.Add(context.Schatkist, 1);
            personeel.VoegReservatieToe(map, van, tot, email, dagen);

            aantalBeschikbaar =
                personeel.Verlanglijst.GeefProduct(context.Schatkist.ProductId)
                .GeefAantalReserveerbaarInPeriode(van, tot);
            reservatiePersoneel = personeel.Reservaties.First(r => r.ReservatieId == reservatieId);
            int studentAantal = student.Reservaties.First(r => r.ReservatieId == reservatieId).ReservatieLijnen
                                .First(f => f.Product.Equals(context.Schatkist)).Aantal;
            int personeelAantal = personeel.Reservaties.First(r => r.ReservatieId == reservatieId).ReservatieLijnen
                                  .First(f => f.Product.Equals(context.Schatkist)).Aantal;

            Assert.AreEqual(0, aantalBeschikbaar);
            Assert.AreEqual(1, student.Reservaties.Count);
            Assert.AreEqual(1, personeel.Reservaties.Count);
            Assert.AreEqual(ReservatieStatus.Geblokkeerd, reservatiePersoneel.ReservatieStatus);
            Assert.AreEqual(1, personeelAantal);
            Assert.AreEqual(0, studentAantal);
        }
 public IActionResult Get(int id)
 {
     if (User.FindFirst("gebruikersId")?.Value != null)
     {
         Reservatie reservatie = _reservatieRepository.GetById(id);
         if (reservatie != null)
         {
             if (User.FindFirst("rol")?.Value == "klant")
             {
                 if (reservatie.Klant.GebruikerId == int.Parse(User.FindFirst("gebruikersId")?.Value))
                 {
                     return(Ok(reservatie));
                 }
                 return(Unauthorized(new { error = "Deze reservatie behoort niet toe aan deze klant." }));
             }
             else if (User.FindFirst("rol")?.Value == "handelaar")
             {
                 if (reservatie.Lunch.Handelaar.GebruikerId == int.Parse(User.FindFirst("gebruikersId")?.Value))
                 {
                     return(Ok(reservatie));
                 }
                 return(Unauthorized(new { error = "Deze reservatie behoort niet toe aan deze handelaar." }));
             }
             else if (User.FindFirst("rol")?.Value == "admin")
             {
                 return(Ok(reservatie));
             }
         }
         return(BadRequest(new { error = "Deze reservatie bestaat niet." }));
     }
     return(Unauthorized(new { error = "U bent niet aangemeld als klant." }));
 }
        private void CreateMockdata(Restaurant.DAL.RestaurantContext context)
        {
            Reservatie Reservatie1 = new Reservatie
            {
                Id             = 1,
                KlantNaam      = "Hendrik Veen",
                Datum          = new DateTime(2020, 2, 2),
                Tijd           = new TimeSpan(17, 12, 54),
                ReservatieType = ReservatieType.Diner
            };

            Reservatie Reservatie2 = new Reservatie
            {
                Id             = 2,
                KlantNaam      = "Rianne Visser",
                Datum          = new DateTime(2020, 2, 2),
                Tijd           = new TimeSpan(11, 30, 12),
                ReservatieType = ReservatieType.Lunch
            };

            Reservatie Reservatie3 = new Reservatie
            {
                Id             = 3,
                KlantNaam      = "Dirk Kavelaar",
                Datum          = new DateTime(2020, 2, 19),
                Tijd           = new TimeSpan(19, 0, 0),
                ReservatieType = ReservatieType.Diner
            };

            new List <Reservatie> {
                Reservatie1, Reservatie2, Reservatie3
            }.ForEach(x => context.Reservaties.AddOrUpdate(x));
            context.SaveChanges();

            Order Order1 = new Order
            {
                Medewerker = context.Medewerkers.FirstOrDefault(m => m.Naam == "Piet Visser"),
                Reservatie = context.Reservaties.FirstOrDefault(r => r.KlantNaam == "Dirk Kavelaar"),
                Orderregel = new List <Orderregel>
                {
                    new Orderregel
                    {
                        Voedsel = context.Voedsel.FirstOrDefault(v => v.Naam == "Boerenkool"),
                        Aantal  = 1,
                        Gereed  = false
                    },
                    new Orderregel
                    {
                        Voedsel = context.Voedsel.FirstOrDefault(v => v.Naam == "Bier"),
                        Aantal  = 2,
                        Gereed  = false
                    }
                }
            };

            new List <Order> {
                Order1
            }.ForEach(x => context.Orders.AddOrUpdate(x));
            context.SaveChanges();
        }
        static public void Afrekenen()
        {
            if (Klant is null)
            {
                Console.WriteLine("Klant is niet ingelogd");
                return;
            }
            Console.WriteLine();
            Console.WriteLine("=================");
            Console.WriteLine("A F R E K E N E N");
            Console.WriteLine("=================");
            Console.WriteLine();

            var     gelukteReservaties  = new List <WinkelmandjeItem>();
            var     mislukteReservaties = new List <WinkelmandjeItem>();
            decimal totaleKostprijs     = 0m;

            //update reserveringen
            foreach (var item in WinkelMandje)
            {
                if (item.Voorstelling.VrijePlaatsen >= item.AantalPlaatsen)
                {
                    var reservatie = new Reservatie()
                    {
                        KlantId         = Klant.KlantId,
                        VoorstellingsId = item.Voorstelling.VoorstellingsId,
                        Plaatsen        = item.AantalPlaatsen
                    };
                    Service.BewaarReservatie(reservatie);     //hier gaat het naar de database!!
                    totaleKostprijs += (item.Voorstelling.Prijs * item.AantalPlaatsen);
                    gelukteReservaties.Add(item);
                    WinkelMandje.Remove(item);
                }
                {
                    mislukteReservaties.Add(item);
                }
            }
            //toon gelukte reservaties
            Console.WriteLine();
            Console.WriteLine("Volgende reserveringen werden met succes uitgevoerd");
            Console.WriteLine("---------------------------------------------------");
            foreach (var item in gelukteReservaties)
            {
                Console.WriteLine($"{item.Voorstelling.VoorstellingsId} " +
                                  $"-{ item.Voorstelling.Datum}- { item.Voorstelling.Titel}- " +
                                  $"{ item.Voorstelling.Uitvoerders}-{ item.Voorstelling.Prijs}- { item.AantalPlaatsen}");
            }
            Console.WriteLine($"-------------------");
            Console.WriteLine($"Totaal te betalen : {totaleKostprijs}");
            Console.WriteLine($"-------------------");
            // Toon Mislukte reservaties
            Console.WriteLine();
            Console.WriteLine("Volgende reserveringen werden niet uitgevoerd");
            Console.WriteLine("---------------------------------------------");
            foreach (var item in mislukteReservaties)
            {
                Console.WriteLine($"{item.Voorstelling.VoorstellingsId} -{ item.Voorstelling.Datum}" +
                                  $"- { item.Voorstelling.Titel}- { item.Voorstelling.Uitvoerders}-{ item.Voorstelling.Prijs}- { item.AantalPlaatsen}");
            }
        }
Example #10
0
        public async Task <ActionResult> Bevestiging(FormCollection values)
        {
            //ViewBag.CreditCardTypes = CreditCardTypes;
            //string result = values[9];

            var order = new Reservatie();

            TryUpdateModel(order);
            //order.CreditCard = result;

            try
            {
                //order.Gebruikersnaam = User.Identity.Name;
                //order.Email = User.Identity.Name;
                //var currentUserId = User.Identity.GetUserId();

                // if (/*order.SaveInfo && */!order.Gebruikersnaam.Equals("*****@*****.**"))
                // {

                var manager     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
                var store       = new UserStore <ApplicationUser>(new ApplicationDbContext());
                var ctx         = store.Context;
                var currentUser = manager.FindById(User.Identity.GetUserId());

                /*currentUser.Address = order.Address;
                 * currentUser.City = order.City;
                 * currentUser.Country = order.Country;
                 * currentUser.State = order.State;
                 * currentUser.Phone = order.Phone;
                 * currentUser.PostalCode = order.PostalCode;*/
                //currentUser.FirstName = order.Voornaam;


                await ctx.SaveChangesAsync();

                await storeDB.SaveChangesAsync();

                // }



                storeDB.Reservaties.Add(order);
                await storeDB.SaveChangesAsync();

                var cart = ReservatieKaart.GetCart(this.HttpContext);
                order = cart.CreateOrder(order);



                BestellenController.SendOrderMessage(order.Voornaam, "New Order: " + order.ReservatieId, order.ToString(order), appConfig.OrderEmail);

                return(RedirectToAction("Complete",
                                        new { id = order.ReservatieId }));
            }
            catch
            {
                return(View(order));
            }
        }
        public ActionResult Bevestig()
        {
            //als je op de knop zoek me op gedrukt hebt
            if (Request["zoek"] != null)
            {
                var naam     = Request["naam"];
                var paswoord = Request["paswoord"];

                Klant klant = service.GetKlant(naam, paswoord);
                if (klant != null)
                {
                    Session["klant"] = klant;
                }
                else
                {
                    ViewBag.errorMessage = "Verkeerde gebruikersnaam of wachtwoord";
                }
                return(View());
            }
            //als je op de knop ik ben nieuw gedrukt heb
            if (Request["nieuw"] != null)
            {
                return(RedirectToAction("Nieuw", "Home"));
            }
            //als je op de knop bevestigen gedrukt hebt
            if (Request["bevestig"] != null)
            {
                var klant = (Klant)Session["Klant"];
                Session.Remove("klant");
                var geluktereservering  = new List <MandjeItem>();
                var mislukteReservering = new List <MandjeItem>();

                foreach (string number in Session)
                {
                    var nieuweReservatie = new Reservatie();
                    nieuweReservatie.VoorstellingsNr = int.Parse(number);
                    nieuweReservatie.Plaatsen        = Convert.ToInt16(Session[number]);
                    nieuweReservatie.KlantNr         = klant.KlantNr;
                    Voorstelling voorstelling = service.GetVoorstelling(nieuweReservatie.VoorstellingsNr);

                    if (nieuweReservatie.Plaatsen < voorstelling.VrijePlaatsen)
                    {
                        service.BewaarReservatie(nieuweReservatie);
                        geluktereservering.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Datum,
                                                              voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Prijs, nieuweReservatie.Plaatsen));
                    }
                    else
                    {
                        mislukteReservering.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Datum,
                                                               voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Prijs, nieuweReservatie.Plaatsen));
                    }
                }
                Session.RemoveAll();
                Session["gelukt"]  = geluktereservering;
                Session["mislukt"] = mislukteReservering;
                return(RedirectToAction("Overzicht", "Home"));
            }
            return(View());
        }
Example #12
0
        public void TestReservatieMomentIsNowBijNieuweReservatie()
        {
            DateTime   before = DateTime.Now;
            Reservatie r      = new Reservatie(lener, ophaalMoment, indienMoment);
            DateTime   after  = DateTime.Now;

            Assert.IsTrue(before <= r.Reservatiemoment && r.Reservatiemoment >= after);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Reservatie reservatie = db.Reservaties.Find(id);

            db.Reservaties.Remove(reservatie);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Bevestiging(string naam, string paswoord)
        {
            if (Request["zoek"] != null)
            {
                var klant = _cultuurhuisRepository.GetKlant(naam, paswoord);
                if (klant != null)
                {
                    Session["Klant"] = klant;
                    return(View());
                }
                else
                {
                    ViewBag.ErrorMessage = "de ingegeven gebruikersnaam of wachtwoord waren niet correct";
                    return(View());
                }
            }
            if (Request["nieuw"] != null)
            {
                return(RedirectToAction("NieuweKlant", "Voorstelling"));
            }

            if (Request["bevestig"] != null)
            {
                //verwerking klantgegevens via Session["Klant"]
                var klant = (Klant)Session["klant"];
                Session.Remove("klant");

                List <MandjeItem> gelukteReservaties  = new List <MandjeItem>();
                List <MandjeItem> mislukteReservaties = new List <MandjeItem>();

                //haal alle reservaties uit de session
                foreach (string nummer in Session)
                {
                    Reservatie nieuweReservatie = new Reservatie();
                    nieuweReservatie.VoorstellingsNr = int.Parse(nummer);
                    nieuweReservatie.Plaatsen        = Convert.ToInt16(Session[nummer]);
                    nieuweReservatie.KlantNr         = klant.KlantNr;

                    Voorstelling voorstelling = _voorstellingRepository.GetVoorstelling(nieuweReservatie.VoorstellingsNr);

                    if (voorstelling.VrijePlaatsen >= nieuweReservatie.Plaatsen)
                    {
                        //opslaan in database
                        _voorstellingRepository.BewaarReservatie(nieuweReservatie);
                        gelukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen));
                    }
                    else
                    {
                        mislukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen));
                    }
                }
                Session.RemoveAll();
                Session["gelukt"]  = gelukteReservaties;
                Session["mislukt"] = mislukteReservaties;
                return(RedirectToAction("Overzicht", "Voorstelling"));
            }
            return(View());
        }
        public void ReservatieConstructorTest()
        {
            Reservatie r = new Reservatie(context.P1ZonderReservatiesOfBlokkeringen, 2, context.Student, new DateTime(2016, 7, 8, 0, 0, 0));

            Assert.AreEqual(context.P1ZonderReservatiesOfBlokkeringen, r.Product);
            Assert.AreEqual(2, r.Aantal);
            Assert.AreEqual(context.Student, r.Gebruiker);
            Assert.AreEqual(new DateTime(2016, 7, 4, 8, 0, 0), r.StartDatum);
        }
        [InlineData(19, 2)] // grenswaarde duur
        public void Reserveer_GeldigeGegevens_CreeertReservatie(int beginUur, int aantalUren)
        {
            Reservatie r = _vergaderruimte.Reserveer(_klantZonderReservaties, _context.Kortingen, _context.Dag.AddDays(12), beginUur, aantalUren, 10, _context.CateringSushi, true);

            Assert.Equal(7, _vergaderruimte.Reservaties.Count);
            Assert.Equal(1, _klantZonderReservaties.Reservaties.Count);
            Assert.Single(_vergaderruimte.Reservaties, re => re == r);         // de reservatie zit in de lijst van reservaties van de vergaderruimte
            Assert.Single(_klantZonderReservaties.Reservaties, re => re == r); // de reservatie zit in de lijst van reservaties van de klant
        }
        public void Reserveer_MetRechtOpGroteKorting_CreeertReservatieMetKorting()
        {
            Reservatie r1 = _vergaderruimte.Reserveer(_klantMetVierReservaties, _context.Kortingen, _context.Dag.AddDays(20), 8, 3, 10, _context.CateringSushi, true);

            Assert.Equal(_context.Kortingen.Last(), r1.Korting);
            Reservatie r2 = _vergaderruimte.Reserveer(_klantMetVierReservaties, _context.Kortingen, _context.Dag.AddDays(21), 8, 3, 10, _context.CateringSushi, true);

            Assert.Equal(_context.Kortingen.Last(), r2.Korting);
        }
        public void BewaarReservatie(Reservatie reservatie)
        {
            var voorstelling = db.Voorstellingen.Find(reservatie.VoorstellingsNr);

            voorstelling.VrijePlaatsen -= reservatie.Plaatsen;

            db.Reservaties.Add(reservatie);
            db.SaveChanges();
        }
Example #19
0
        public ActionResult Add(Gebruiker gebruiker, List <ReservatiePartModel> reservatiepartmodels,
                                DateTime?ophaalDatum)
        {
            Config c = configWrapper.GetConfig();

            int aantalDagen;

            var dayToNr = new Dictionary <string, int>();

            dayToNr.Add("maandag", 1);
            dayToNr.Add("dinsdag", 2);
            dayToNr.Add("woensdag", 3);
            dayToNr.Add("donderdag", 4);
            dayToNr.Add("vrijdag", 5);
            dayToNr.Add("zaterdag", 6);
            dayToNr.Add("zondag", 7);

            aantalDagen = Reservatie.CalculateAmountDaysOphaalDatumFromIndienDatum(dayToNr[c.Indiendag],
                                                                                   dayToNr[c.Ophaaldag], c.LendingPeriod);

            var materialenTeReserveren = new Dictionary <Materiaal, int>();
            var x = 0;

            foreach (ReservatiePartModel rpm in reservatiepartmodels)
            {
                if (rpm.Amount > 0)
                {
                    materialenTeReserveren.Add(materiaalRepository.FindBy(rpm.
                                                                          MateriaalId), rpm.Amount);
                    x++;
                }
            }
            try
            {
                if (!ophaalDatum.HasValue)
                {
                    throw new ArgumentException("De ophaaldatum moet een geldige waarde hebben (Formaat: dd/mm/yyyy).");
                }

                if (x == 0)
                {
                    throw new ArgumentException("Er moet minstens 1 materiaal zijn waarbij het aantal groter is dan 0.");
                }

                DateTime indienDatum = ophaalDatum.Value.AddDays(aantalDagen);
                gebruiker.AddReservation(materialenTeReserveren, ophaalDatum.Value, indienDatum, DateTime.UtcNow.ToLocalTime());
                reservatieRepository.SaveChanges();
                TempData["msg"] = "De reservatie  is toegevoegd aan uw verlanglijst.";
            }
            catch (ArgumentException e)
            {
                TempData["err"] = e.Message;
                return(RedirectToAction("Index", "Verlanglijst"));
            }

            return(RedirectToAction("Index"));
        }
Example #20
0
        public void TotalePrijs_ReservatieMetCateringEnMetKorting_RetourneertTotalePrijs()
        {
            Reservatie r = new Reservatie()
            {
                Dag = _context.Dag.AddDays(12), AantalPersonen = 10, BeginUur = 8, PrijsPerUur = 15, DuurInUren = 3, Catering = _context.CateringSushi, PrijsPerPersoonCatering = 11, PrijsPerPersoonStandaardCatering = 9, Korting = _context.Kortingen.First()
            };

            Assert.Equal(242.75M, r.TotalePrijs);
        }
Example #21
0
        public void TotalePrijs_ReservatieZonderCateringEnZonderKorting_RetourneertTotalePrijs()
        {
            Reservatie r = new Reservatie()
            {
                Dag = _context.Dag.AddDays(12), AantalPersonen = 10, BeginUur = 8, PrijsPerUur = 15, DuurInUren = 3
            };

            Assert.Equal(45, r.TotalePrijs);
        }
Example #22
0
        public void TotalePrijs_ReservatieZonderCateringEnMetKorting_RetourneertTotalePrijs()
        {
            Reservatie r = new Reservatie()
            {
                Dag = DateTime.Today.AddDays(12), AantalPersonen = 10, BeginUur = 8, PrijsPerUur = 15, DuurInUren = 3, Korting = _context.Kortingen.First()
            };

            Assert.Equal(42.75M, r.TotalePrijs);
        }
Example #23
0
 public void BewaarReservatie(Reservatie gelukteReservatie)
 {
     using (var db = new CultuurHuisMVCEntities())
     {
         var voorstelling = db.Voorstellingen.Find(gelukteReservatie.VoorstellingsNr);
         voorstelling.VrijePlaatsen -= gelukteReservatie.Plaatsen;
         db.Reservaties.Add(gelukteReservatie);
         db.SaveChanges();
     }
 }
 public void BewaarReservatie(Reservatie gelukteReservatie)
 {
     using (var context = new EFCultuurhuisContext())
     {
         var voorstelling = GetVoorstelling(gelukteReservatie.VoorstellingsId);
         voorstelling.VrijePlaatsen -= gelukteReservatie.Plaatsen;
         context.Reservaties.Add(gelukteReservatie);
         context.SaveChanges();
     }
 }
 public ActionResult Edit([Bind(Include = "ReservatieId,ReservatieDatum,Gebruikersnaam,Voornaam,Achternaam,Email,Totaal")] Reservatie reservatie)
 {
     if (ModelState.IsValid)
     {
         db.Entry(reservatie).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(reservatie));
 }
 public ActionResult Edit([Bind(Include = "Id,KlantNaam,Datum,Tijd,ReservatieType")] Reservatie reservatie)
 {
     if (ModelState.IsValid)
     {
         db.Entry(reservatie).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(reservatie));
 }
        public ActionResult Create([Bind(Include = "ReservatieId,ReservatieDatum,Gebruikersnaam,Voornaam,Achternaam,Email,Totaal")] Reservatie reservatie)
        {
            if (ModelState.IsValid)
            {
                db.Reservaties.Add(reservatie);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(reservatie));
        }
        public void KortingCorrectToegepastMetEindeVanHetJaar_Test()
        {
            ReservatieManager rm = new ReservatieManager(new TestDataBaseHandler());

            rm.VoegStaffelKortingToe("test", new List <int> {
                0, 2, 4, 6
            }, new List <double> {
                0, 8, 15, 20
            });

            string klantNaam        = "testklant1";
            string klantenCategorie = "test";
            string btwNummer        = "TestBTwNummer123456789";
            string adres            = "TestAdres";

            rm.VoegKlantToe(klantNaam, klantenCategorie, btwNummer, adres);

            string naam            = "testLimo1";
            int    uurPrijs        = 200;
            int    nightlifePrijs1 = 2500;
            int    weddingPrijs1   = 3000;
            int    wellnessPrijs1  = 4213;

            rm.VoegLimousineToe(naam, uurPrijs, nightlifePrijs1, weddingPrijs1, wellnessPrijs1);

            int         klantNr       = 1;
            int         limoId        = 1;
            DateTime    startDatum    = new DateTime(2100, 12, 31);
            Arrengement arrengement   = Arrengement.NightLife;
            int         startUur      = 23;
            int         duur          = 7;
            StalLocatie stalLocatie   = StalLocatie.Antwerpen;
            StalLocatie eindLocatie   = StalLocatie.Gent;
            string      verwachtAdres = "testAdres1 25 testGemeente";


            rm.ReservatieMakenZonderReturnen(klantNr, startDatum, arrengement, startUur, duur, limoId, stalLocatie, eindLocatie, verwachtAdres);

            startDatum = startDatum.AddDays(1);
            Reservatie res = rm.ReservatieMakenEnReturnen(klantNr, startDatum, arrengement, startUur, duur, limoId, stalLocatie, eindLocatie, verwachtAdres);

            Assert.IsTrue(res.VastePrijs == 2500);
            Assert.IsTrue(res.TotaalMetKortingExclusiefBtw == 2500);

            startDatum = startDatum.AddDays(1);
            res        = rm.ReservatieMakenEnReturnen(klantNr, startDatum, arrengement, startUur, duur, limoId, stalLocatie, eindLocatie, verwachtAdres);
            Assert.IsTrue(res.VastePrijs == 2500);
            Assert.IsTrue(res.TotaalMetKortingExclusiefBtw == 2500);

            startDatum = startDatum.AddDays(1);
            res        = rm.ReservatieMakenEnReturnen(klantNr, startDatum, arrengement, startUur, duur, limoId, stalLocatie, eindLocatie, verwachtAdres);
            Assert.IsTrue(res.VastePrijs == 2500);
            Assert.IsTrue(res.TotaalMetKortingExclusiefBtw == 2300);
        }
        public ActionResult Create([Bind(Include = "Id,KlantNaam,Datum,Tijd,ReservatieType")] Reservatie reservatie)
        {
            if (ModelState.IsValid)
            {
                db.Reservaties.Add(reservatie);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(reservatie));
        }
 public ActionResult Bevestiging(string naam, string paswoord)
 {
     //gebruiker opzoeken
     if (Request["zoek"] != null)
     {
         var klant = db.GetKlant(naam, paswoord);
         if (klant != null)
         {
             Session["klant"] = klant;
         }
         else
         {
             ViewBag.errorMessage = "Verkeerde gebruikersnaam of wachtwoord";
         }
         return(View());
     }
     //nieuwe gebruiker
     if (Request["nieuw"] != null)
     {
         return(RedirectToAction("Nieuw", "Home"));
     }
     //bevestig
     if (Request["bevestig"] != null)
     {
         var klant = (Klant)Session["klant"];
         Session.Remove("klant");
         List <MandjeItem> gelukteReservaties  = new List <MandjeItem>();
         List <MandjeItem> mislukteReservaties = new List <MandjeItem>();
         //haal alle reservaties uit de session
         foreach (string nummer in Session)
         {
             Reservatie nieuweReservatie = new Reservatie();
             nieuweReservatie.VoorstellingsNr = int.Parse(nummer);
             nieuweReservatie.Plaatsen        = Convert.ToInt16(Session[nummer]);
             nieuweReservatie.KlantNr         = klant.KlantNr;
             Voorstelling voorstelling = db.GetVoorstelling(nieuweReservatie.VoorstellingsNr);
             if (voorstelling.VrijePlaatsen >= nieuweReservatie.Plaatsen)
             { //opslaan in database
                 db.BewaarReservatie(nieuweReservatie);
                 gelukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen));
             }
             else
             {
                 mislukteReservaties.Add(new MandjeItem(voorstelling.VoorstellingsNr, voorstelling.Titel, voorstelling.Uitvoerders, voorstelling.Datum, voorstelling.Prijs, nieuweReservatie.Plaatsen));
             }
         }
         Session.RemoveAll();
         Session["gelukt"]  = gelukteReservaties;
         Session["mislukt"] = mislukteReservaties;
         return(RedirectToAction("Overzicht", "Home"));
     }
     return(View());
 }