public void TotalDiscountCheck()
        {
            bookingsViewModel.Booking.Date = new DateTime(2020, 1, 14);

            Mock <Animal> animal = new Mock <Animal>();

            animal.Object.Category = "Jungle";
            animal.Object.Name     = "abcdefghijklmnopqr";
            Mock <Animal> animal2 = new Mock <Animal>();

            animal2.Object.Category = "Jungle";
            animal2.Object.Name     = "Zebra";
            Mock <Animal> animal3 = new Mock <Animal>();

            animal3.Object.Category = "Jungle";
            animal3.Object.Name     = "Olifant";

            List <Animal> animals = new List <Animal>();

            animals.Add(animal.Object);
            animals.Add(animal2.Object);
            animals.Add(animal3.Object);

            bookingsViewModel.Booking.Animals = animals;

            var result = discountViewModel.TotalDiscount(bookingsViewModel);

            Assert.AreEqual(60, result);
        }
Esempio n. 2
0
        public ActionResult CheckBooking(BookingViewModel bookVM)
        {
            DiscountViewModel discountVM = new DiscountViewModel();

            bookVM.Booking = dbBooking.GetBookings().Where(x => x.Id.Equals(bookVM.Booking.Id)).FirstOrDefault();
            var customer = bookVM.Customer;

            if (checkCustomer(bookVM))
            {
                dbCustomer.Add(bookVM.Customer);
                dbBooking.AddCustomerToOrder(bookVM.Customer.Id, bookVM.Booking.Id);
            }
            else
            {
                bookVM.Customer      = customer;
                ViewBag.ErrorMessage = "Alle velden moeten ingevuld zijn, behalve tussenvoegsel";
                return(View("CustomerBooking", bookVM));
            }

            decimal price = Price(bookVM);

            decimal discount = discountVM.TotalDiscount(bookVM);

            if (discount != 0)
            {
                price = price * ((100 - discount) / 100);
            }


            bookVM.Booking.Payment  = price;
            bookVM.Booking.Discount = discount;
            dbBooking.addPaymentToOrder(bookVM.Booking.Payment, bookVM.Booking.Id);
            dbBooking.AddDiscountToOrder(bookVM.Booking.Discount, bookVM.Booking.Id);

            return(View(bookVM));
        }