private void AddPassPartoutWeekToDB(PassParToutWeek passParToutWeek, int orderId) { if (passParToutWeek.Count > 0) { List <PassPartoutType> ppttList = passPartoutTypeRepository.GetAllPassPartoutType().ToList(); foreach (PassPartoutType type in ppttList) { if (type.Name.Equals(passParToutWeek.Type)) { passParToutWeek.Id = type.Id; break; } } PassPartoutOrder passPartoutOrderWeek = new PassPartoutOrder { OrderId = orderId, PassPartoutId = passParToutWeek.Id }; for (int i = 0; i < passParToutWeek.Count; i++) { passPartoutOrderRepository.AddPassPartoutOrder(passPartoutOrderWeek); } eventRepository.LowerAllAvailableSeats(passParToutWeek.Count); } }
public ActionResult Checkout(CheckoutViewModel vm) { if (ModelState.IsValid) { string email = vm.Email; string code = GenerateCode(); List <BaseTicket> tickets = new List <BaseTicket>(); List <PassParToutDay> passParToutDays = new List <PassParToutDay>(); PassParToutWeek passParToutWeek = new PassParToutWeek(); if ((Reservation)Session["Reservation"] != null) { reservation = (Reservation)Session["Reservation"]; } if (reservation != null) { if (reservation.Tickets != null) { tickets = reservation.Tickets; } if (reservation.PassParToutDays != null) { passParToutDays = reservation.PassParToutDays; } if (reservation.PassParToutWeek != null) { passParToutWeek = reservation.PassParToutWeek; } } Order newOrder = new Order { EmailAddress = email, Code = code }; orderRepository.AddOrder(newOrder); //Hier halen we de net gemaakte order week uit de db om het id te kunnen gebruiken Order order = orderRepository.GetOrderByEmailCode(email, code); AddTicketsToDB(tickets, order.Id); AddPassPartoutDaysToDB(passParToutDays, order.Id); AddPassPartoutWeekToDB(passParToutWeek, order.Id); //Stuur een email met de code om de persoonlijke agenda op te halen SendEmail(vm.Email, code); //Leeg de session want de items zijn in de database gezet Session["Reservation"] = null; return(RedirectToAction("Conformation", "Home")); } return(View()); }
private void UpdateReservation(BasketViewModel vmNew) { List <BaseTicket> tickets = new List <BaseTicket>(); List <PassParToutDay> passParToutDays = new List <PassParToutDay>(); PassParToutWeek passParToutWeek = new PassParToutWeek(); if ((Reservation)Session["Reservation"] != null) { reservation = (Reservation)Session["Reservation"]; } if (reservation != null) { if (reservation.Tickets != null) { tickets = reservation.Tickets; } if (reservation.PassParToutDays != null) { passParToutDays = reservation.PassParToutDays; } if (reservation.PassParToutWeek != null) { passParToutWeek = reservation.PassParToutWeek; } } if (vmNew.Tickets != null) { tickets = SetNewTicketAmount(vmNew.Tickets, tickets); } if (vmNew.Partoutdays != null) { passParToutDays = SetNewPassParToutAmount(vmNew.Partoutdays, passParToutDays); } if (vmNew.ParToutWeek != null) { if (reservation.PassParToutWeek != null) { passParToutWeek.Count = vmNew.ParToutWeek.Count; } else { passParToutWeek = new PassParToutWeek { Count = vmNew.ParToutWeek.Count }; } } Session["Reservation"] = reservation; }
//Als de reservatie pagina geopend wordt de dag gebruikt om de juiste items in te laden, welke alvast gevult worden met 0 count tickets public ActionResult Reservation(int dayId, int?concertId) { ReservationViewModel vm = new ReservationViewModel { Day = dayRepository.GetDay(dayId).Name }; vm.ConcertTickets = new List <ConcertTicket>(); int i = 0; foreach (Concert concert in concertRepository.GetConcertsByDay(dayId)) { ConcertTicket concertTicket = new ConcertTicket { Ticket = new PreTicket { Id = i, EventId = concert.EventId, Event = eventRepository.GetEvent(concert.EventId), Count = 0 }, Concert = concert }; if (concertTicket.Concert.BandId == concertId) { concertTicket.Selected = true; } vm.ConcertTickets.Add(concertTicket); i++; } PassParToutDay passParToutDay = new PassParToutDay { Day = vm.Day }; vm.PassParToutDay = passParToutDay; PassParToutWeek passParToutWeek = new PassParToutWeek { Type = "Week" }; vm.PassParToutWeek = passParToutWeek; return(View(vm)); }