示例#1
0
        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);
            }
        }
示例#2
0
        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());
        }
示例#3
0
        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));
        }