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