public bool UserMenu(string username) { EventsHandler handler = new EventsHandler(); Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine(""); Console.WriteLine("\t\t[+] User Main Menu [+]"); Console.WriteLine("\tPlease select from one of the following options"); Console.WriteLine("\t\t [1, 2, 3]\n"); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("\t\t1: Book tickets"); Console.WriteLine("\t\t2: View self purchased tickets"); Console.WriteLine("\t\t3: Display event list"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nType 'logout' to logout of your account\n"); string option = Console.ReadLine(); switch (option) { case "1": Console.WriteLine("Option 1 Selected."); handler.BookTickets(username); return(true); case "2": Console.WriteLine("Option 2 Selected."); handler.ViewOwnTickets(username); return(true); case "3": Console.WriteLine("Option 3 Selected."); handler.PrintUserEvents(username); return(true); case "logout": case "exit": Console.Clear(); Login(); return(true); default: Console.WriteLine("Invalid option selected."); System.Threading.Thread.Sleep(1000); UserMenu(username); return(true); } }
public bool BookTickets(string username) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Ticket booking loaded."); System.Threading.Thread.Sleep(1000); Console.Clear(); EventsHandler handler = new EventsHandler(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Running ticket booking process."); List <EventDetails> EventsList = GetEvents(username); int LastInsertID = EventsList[EventsList.Count - 1].EventID; Console.WriteLine("Please enter an event ID or Name:"); EventDetails UpdateEvent; int UpdateEventID; string EventName = Console.ReadLine(); int EventID; if (int.TryParse(EventName, out EventID)) { UpdateEvent = EventsList.Find(EventDetails => EventDetails.EventID == EventID); UpdateEventID = EventsList.FindIndex(EventDetails => EventDetails.EventID.Equals(EventID)); } else { UpdateEvent = EventsList.Find(EventDetails => EventDetails.EventName.Equals(EventName)); UpdateEventID = EventsList.FindIndex(EventDetails => EventDetails.EventName.Equals(EventName)); } if (UpdateEvent == null) { Console.WriteLine("The event specified does not exist, Press any key to continue."); Console.ReadKey(); handler.BookTickets(username); return(true); } Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\nCurrent Event Information:"); Console.WriteLine("Event ID: " + UpdateEvent.EventID); Console.WriteLine("Event Name: " + UpdateEvent.EventName); Console.WriteLine("Tickets available: " + UpdateEvent.AmountTickets); Console.WriteLine("Price per ticket: " + UpdateEvent.PricePerTicket); Console.WriteLine("Date and time: " + UpdateEvent.DateTime); Console.ForegroundColor = ConsoleColor.Red; if (UpdateEvent.AmountTickets > 0) { Console.WriteLine("Please enter your name:"); string CustomerName = Console.ReadLine(); Console.WriteLine("Please enter your address:"); string CustomerAddress = Console.ReadLine(); Console.WriteLine("Please enter number of tickets:"); int NumberTickets = int.Parse(Console.ReadLine()); while (UpdateEvent.AmountTickets - NumberTickets < 0 || NumberTickets < 1) { Console.WriteLine("Invalid Number of tickets!"); Console.WriteLine("Please enter number of tickets:"); NumberTickets = int.Parse(Console.ReadLine()); } Console.WriteLine("Total cost: £" + UpdateEvent.PricePerTicket * NumberTickets); BookingDetails booking = new BookingDetails(); booking.CustomerName = CustomerName; booking.CustomerAddress = CustomerAddress; booking.NumberTickets = NumberTickets; booking.PurchasedBy = username; UpdateEvent.AmountTickets -= NumberTickets; UpdateEvent.BookingDetails.Add(booking); UpdateEventList(UpdateEventID, UpdateEvent); AddLog("[" + CustomerName + "] booked [" + NumberTickets + "] tickets for [£" + UpdateEvent.PricePerTicket * NumberTickets + "]"); manager.MenuChooser(username); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("There are no tickets available for this event, Press any key to continue."); Console.ReadKey(); handler.BookTickets(username); } return(true); }
public bool AdminMenu(string username) { EventsHandler handler = new EventsHandler(); Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine(""); Console.WriteLine("\t\t[+] Admin Main Menu [+]"); Console.WriteLine("\tPlease select from one of the following options"); Console.WriteLine("\t\t [1, 2, 3, 4, 5, 6]\n"); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("\t\t1: Create an event"); Console.WriteLine("\t\t2: Update an event"); Console.WriteLine("\t\t3: Delete an event"); Console.WriteLine("\t\t4: Book tickets"); Console.WriteLine("\t\t5: Display event list"); Console.WriteLine("\t\t6: View self purchased tickets"); Console.WriteLine("\t\t7: Display transaction log"); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\nType 'logout' to logout of your account\n"); string option = Console.ReadLine(); switch (option) { case "1": Console.WriteLine("Option 1 Selected."); handler.AddEvent(username); return(true); case "2": Console.WriteLine("Option 2 Selected."); handler.UpdateEventInfo(username); return(true); case "3": Console.WriteLine("Option 3 Selected."); handler.DeleteEvent(username); return(true); case "4": Console.WriteLine("Option 4 Selected."); handler.BookTickets(username); return(true); case "5": Console.WriteLine("Option 5 Selected."); handler.PrintEvents(username); return(true); case "6": Console.WriteLine("Option 6 Selected."); handler.ViewOwnTickets(username); return(true); case "7": Console.WriteLine("Option 7 Selected."); handler.DisplayLog(username); return(true); case "logout": case "exit": Console.Clear(); Login(); return(true); default: Console.WriteLine("Invalid option selected."); System.Threading.Thread.Sleep(1000); AdminMenu(username); return(true); } }