示例#1
0
        public ActionResult ShowPersonalAgenda()
        {
            if (Session["PersonalAgenda"] != null)
            {
                PersonalAgendaViewModel vm = (PersonalAgendaViewModel)Session["PersonalAgenda"];
                if (vm.EventIdList != null)
                {
                    vm.ConcertList    = new List <Concert>();
                    vm.RestaurantList = new List <DinnerSession>();

                    foreach (int e in vm.EventIdList)
                    {
                        Event evnt = eventRepository.GetEvent(e);
                        if (evnt.TableType.Equals("Concert"))
                        {
                            vm.ConcertList.Add(concertsRepository.GetConcert(e));
                        }
                        if (evnt.TableType.Equals("DinnerSession"))
                        {
                            vm.RestaurantList.Add(dinnerSessionRepository.GetDinnerSession(e));
                        }
                    }
                }

                return(View(vm));
            }

            return(RedirectToAction("PersonalAgenda", "Home"));;
        }
示例#2
0
        public JsonResult GetConcert(int concertId)
        {
            Concert concert = concertRepository.GetConcert(concertId);

            return(Json(concert, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Reservation(ReservationViewModel reservationViewModel)
        {
            if (Session["Reservation"] != null)
            {
                reservation = (Reservation)Session["Reservation"];
            }
            else
            {
                reservation = new Reservation();
            }

            List <ConcertTicket> concertTickets = new List <ConcertTicket>();

            foreach (ConcertTicket concertTicket in reservationViewModel.ConcertTickets)
            {
                if (concertTicket.Ticket.Count != 0)
                {
                    PreTicket ticket = new PreTicket
                    {
                        EventId = concertTicket.Ticket.EventId,
                        Event   = eventRepository.GetEvent(concertTicket.Ticket.EventId),
                        Count   = concertTicket.Ticket.Count
                    };

                    concertTicket.Count = concertTicket.Ticket.Count;
                    concertTicket.Id    = concertTicket.Ticket.EventId;

                    concertTicket.Ticket  = ticket;
                    concertTicket.Concert = concertRepository.GetConcert(concertTicket.Ticket.Event.EventId);

                    concertTickets.Add(concertTicket);
                }
            }

            //Op zondag zijn er geen passpartouts
            if (!reservationViewModel.Day.Equals("Sunday"))
            {
                if (reservation.PassParToutDays == null)
                {
                    if (reservationViewModel.PassParToutDay.Count != 0)
                    {
                        List <PassParToutDay> passParToutDaysList = new List <PassParToutDay>
                        {
                            reservationViewModel.PassParToutDay
                        };
                        reservation.PassParToutDays = passParToutDaysList;
                    }
                }
                else
                {
                    bool found = false;
                    foreach (PassParToutDay passParTout in reservation.PassParToutDays)
                    {
                        if (reservationViewModel.PassParToutDay.Count != 0)
                        {
                            if (passParTout.Day.Equals(reservationViewModel.PassParToutDay.Day))
                            {
                                passParTout.Count += reservationViewModel.PassParToutDay.Count;
                                found              = true;
                                break;
                            }
                            else
                            {
                                found = false;
                            }
                        }
                    }

                    //Loop door alle passPartouts in de session heen, als hij er niet tussen staat voeg hem toe
                    if (!found)
                    {
                        if (reservationViewModel.PassParToutDay.Count != 0)
                        {
                            reservation.PassParToutDays.Add(reservationViewModel.PassParToutDay);
                        }
                    }
                }

                if (reservation.PassParToutWeek == null)
                {
                    if (reservationViewModel.PassParToutWeek.Count != 0)
                    {
                        reservation.PassParToutWeek = reservationViewModel.PassParToutWeek;
                    }
                }
                else
                {
                    if (reservationViewModel.PassParToutWeek.Count != 0)
                    {
                        reservation.PassParToutWeek.Count += reservationViewModel.PassParToutWeek.Count;
                    }
                }
            }


            if (reservation.Tickets == null)
            {
                reservation.Tickets = concertTickets.ToList <BaseTicket>();
            }
            else
            {
                List <ConcertTicket> ticketsToBeAdded = new List <ConcertTicket>();
                foreach (ConcertTicket ct in concertTickets)
                {
                    bool found = false;
                    foreach (object ticket in reservation.Tickets)
                    {
                        if (ticket is ConcertTicket t)
                        {
                            if (ct.Concert.EventId == t.Concert.EventId)
                            {
                                found           = true;
                                t.Ticket.Count += ct.Ticket.Count;
                                break;
                            }
                        }
                    }
                    if (!found)
                    {
                        ticketsToBeAdded.Add(ct);
                    }
                }
                reservation.Tickets.AddRange(ticketsToBeAdded);
            }

            Session["Reservation"] = reservation;


            return(RedirectToAction("Basket", "Home"));
        }