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