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); }
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)); }