Exemple #1
0
        public ActionResult JazzTable()
        {
            IEnumerable <JazzEvent>      jazzEvents = repository.GetAllJazzEvents();
            List <List <JazzTableView> > tableViews = new List <List <JazzTableView> >();

            List <JazzTableView> temp = new List <JazzTableView>();

            temp.Add(ToJazzTableView(jazzEvents.ElementAt(0)));
            for (int i = 1; i < jazzEvents.Count(); i++)
            {
                JazzEvent previous = jazzEvents.ElementAt(i - 1);
                JazzEvent current  = jazzEvents.ElementAt(i);
                if (current.StartTime.Date == previous.StartTime.Date)
                {
                    temp.Add(ToJazzTableView(current));
                }
                else
                {
                    temp = temp.OrderBy(t => t.Location).ThenBy(t => t.StartTime).ToList();
                    tableViews.Add(temp);
                    temp = new List <JazzTableView>();
                    temp.Add(ToJazzTableView(current));
                }
            }

            tableViews.Add(temp);

            return(PartialView(tableViews));
        }
Exemple #2
0
        public ActionResult JazzOrder()
        {
            int EventId = int.Parse(Request.Form["EventId"]);
            int Amount  = int.Parse(Request.Form["TicketAmount"]);

            JazzEvent e = repository.GetJazzEvent(EventId);

            List <Ticket> tickets = new List <Ticket>();
            Ticket        ticket  = new Ticket();

            ticket.Amount         = Amount;
            ticket.EventId        = e.EventId;
            ticket.Event          = eventRepo.GetEvent(e.EventId);
            ticket.Price          = (float)e.Price * Amount;
            ticket.SpecialRequest = null;

            if (ticket.Amount > (ticket.Event.MaxTickets - ticket.Event.CurrentTickets))
            {
                return(RedirectToAction("NoTickets", "Jazz"));
            }
            else
            {
                // Create session if it doesn't exist or add ticket to existing session
                if (Session["currentTickets"] == null)
                {
                    tickets.Add(ticket);
                    Session["CurrentTickets"] = tickets;
                }
                else
                {
                    List <Ticket> sessionTickets = (List <Ticket>)Session["currentTickets"];
                    Ticket        t = sessionTickets.SingleOrDefault(ti => ti.EventId == EventId);
                    if (t != null)
                    {
                        ticket.Amount = ticket.Amount + t.Amount;
                        ticket.Price  = (float)e.Price * ticket.Amount;
                        sessionTickets.Remove(t);
                    }
                    sessionTickets.Add(ticket);
                }
                return(RedirectToAction("Index", "Ticket"));
            }
        }
Exemple #3
0
        public JazzTableView ToJazzTableView(JazzEvent JazzEvent)
        {
            JazzTableView jazzTableView = new JazzTableView();

            jazzTableView.Id = JazzEvent.EventId;

            jazzTableView.StartTime = JazzEvent.StartTime;

            jazzTableView.Time     = string.Format("{0}:{1:00} - {2}:{3:00}", JazzEvent.StartTime.Hour, JazzEvent.StartTime.Minute, JazzEvent.EndTime.Hour, JazzEvent.EndTime.Minute);
            jazzTableView.Location = JazzEvent.JazzVenue.Name;
            jazzTableView.Band     = JazzEvent.JazzArtist;

            if (JazzEvent.Price == 0)
            {
                jazzTableView.Price = "Free";
            }
            else
            {
                jazzTableView.Price = "€" + JazzEvent.Price + ".00";
            }

            return(jazzTableView);
        }