示例#1
0
        private void GetEvents()
        {
            Console.Clear();

            var outings = _repo.GetOutings();

            foreach (Outing outing in outings)
            {
                Console.WriteLine($"Type: {outing.Type} \n" +
                                  $"Attendees: {outing.NumOfAttendees} \n" +
                                  $"Date: {outing.Date.Date} \n" +
                                  $"Cost per Person: {outing.CostPerPerson} \n" +
                                  $"Cost of event: {outing.CostofEvent} \n");
            }

            ContinueOrExit();
        }
 private void DisplayList()
 {
     tempList = outingRepo.GetOutings();
     foreach (Outing item in tempList)
     {
         Console.WriteLine(item);
     }
     Console.ReadLine();
     Console.Clear();
     InitialPrompt();
 }
        public void Run()
        {
            var initOuting = new List <Outing>()
            {
                new Outing(EventTypes.Park, 30, _outingRepo.StringToDateTime("6/5/2018"), 400.00m),
                new Outing(EventTypes.Bowling, 12, _outingRepo.StringToDateTime("2/15/2018"), 120.00m),
                new Outing(EventTypes.Concert, 67, _outingRepo.StringToDateTime("4/20/2018"), 700.00m),
                new Outing(EventTypes.Golf, 1, _outingRepo.StringToDateTime("12/25/2018"), 50.00m)
            };

            _outingRepo.AddOutings(initOuting);

            while (loop)
            {
                string        input   = ConsoleMenu();
                List <Outing> outings = _outingRepo.GetOutings();
                switch (input)
                {
                case "1":
                    Console.WriteLine("Event Type\t" +
                                      "Atendees\t" +
                                      "Date\t\t" +
                                      "Total Cost\t" +
                                      "Cost per Person");
                    foreach (Outing outing in outings)
                    {
                        Console.WriteLine(outing);
                    }
                    break;

                case "2":
                    Outing _outing = AddOuting();
                    _outingRepo.AddOutings(_outing);
                    Console.Clear();
                    break;

                case "3":
                    Console.WriteLine("What would you like to calculate?\n" +
                                      "[1] Total Cost across all outings\n" +
                                      "[2] Total Cost of each outing type\n");
                    System.ConsoleKeyInfo key = Console.ReadKey();
                    Console.Clear();
                    string answer = key.KeyChar.ToString();
                    switch (answer)
                    {
                    case "1":
                        decimal total = _outingRepo.TotalCost(outings);
                        Console.WriteLine("The total cost of all outings is: " + total);
                        Console.WriteLine("\nPress any key to continue");
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    case "2":
                        bool       trying    = true;
                        EventTypes eventType = new EventTypes();
                        while (trying)
                        {
                            Console.WriteLine("Select Event Type\n" +
                                              "[1] Golf\n" +
                                              "[2] Bowling\n" +
                                              "[3] Amusement Park\n" +
                                              "[4] Concert\n");
                            System.ConsoleKeyInfo kep = Console.ReadKey();
                            Console.Clear();
                            string response = kep.KeyChar.ToString();
                            switch (response)
                            {
                            case "1":
                                eventType = EventTypes.Golf;
                                trying    = false;
                                Console.Clear();
                                break;

                            case "2":
                                eventType = EventTypes.Bowling;
                                trying    = false;
                                Console.Clear();
                                break;

                            case "3":
                                eventType = EventTypes.Park;
                                trying    = false;
                                Console.Clear();
                                break;

                            case "4":
                                eventType = EventTypes.Concert;
                                trying    = false;
                                Console.Clear();
                                break;

                            default:
                                Console.WriteLine("Error: Select defined option");
                                break;
                            }
                        }
                        decimal totalt = _outingRepo.TotalCostByType(outings, eventType);
                        Console.WriteLine("The total cost of all " + eventType + " outings is: " + totalt);
                        Console.WriteLine("\nPress any key to continue");
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    default:
                        break;
                    }
                    break;

                case "X":
                    loop = false;
                    break;

                default:
                    break;
                }
            }
        }
        public void Run()
        {
            while (isRunning)
            {
                string        input   = Menu();
                List <Outing> outings = outingRepo.GetOutings();
                switch (input)
                {
                case "1":
                    Console.WriteLine("Event Type\t" +
                                      "Attended\t" +
                                      "Date\t\t" +
                                      "Total Cost\t" +
                                      "Cost per Person");
                    foreach (Outing outing in outings)
                    {
                        Console.WriteLine(outing);
                    }
                    break;

                case "2":
                    Outing _outing = AddOuting();
                    outingRepo.AddOutings(_outing);
                    Console.Clear();
                    break;

                case "3":
                    Console.WriteLine("Which total cost would you like to view?\n" +
                                      "1. Total Cost of all outings\n" +
                                      "2. Total Cost of each outing type\n");
                    string input3 = Console.ReadLine();
                    Console.Clear();

                    switch (input3)
                    {
                    case "1":
                        decimal total = outingRepo.TotalCost(outings);
                        Console.WriteLine($"The total cost of all outings is: {total}");
                        Console.WriteLine("\nPress Enter to continue...");
                        Console.ReadLine();
                        Console.Clear();
                        break;

                    case "2":
                        EventTypes eventType = new EventTypes();
                        bool       isRunning = true;
                        while (isRunning)
                        {
                            Console.WriteLine("Select Event Type\n" +
                                              "1. Golf\n" +
                                              "2. Bowling\n" +
                                              "3. Amusement Park\n" +
                                              "4. Concert\n");
                            string typeInput = Console.ReadLine();
                            Console.Clear();
                            switch (typeInput)
                            {
                            case "1":
                                eventType = EventTypes.Golf;
                                isRunning = false;
                                Console.Clear();
                                break;

                            case "2":
                                eventType = EventTypes.Bowling;
                                isRunning = false;
                                Console.Clear();
                                break;

                            case "3":
                                eventType = EventTypes.Park;
                                isRunning = false;
                                Console.Clear();
                                break;

                            case "4":
                                eventType = EventTypes.Concert;
                                isRunning = false;
                                Console.Clear();
                                break;

                            default:
                                Console.WriteLine("Error: Select defined option");
                                break;
                            }
                        }
                        decimal totalC = outingRepo.TotalCostByType(outings, eventType);
                        Console.WriteLine($"The total cost of all {eventType} outings is: {totalC}");
                        Console.WriteLine("\nPress any key to continue");
                        Console.ReadKey();
                        Console.Clear();
                        break;

                    default:
                        break;
                    }
                    break;

                case "4":
                    isRunning = false;
                    break;

                default:
                    break;
                }
            }
        }
        public void Run()
        {
            _outingList = outingRepo.GetOutings();
            Outing outingOne   = new Outing("Golf", 24, "5/25/2018", 25.00m, 600.00m);
            Outing outingTwo   = new Outing("Bowling", 16, "3/15/2018", 15.00m, 240.00m);
            Outing outingThree = new Outing("Amusement Park", 57, "7/15/2018", 24.00m, 1368.00m);
            Outing outingFour  = new Outing("Golf", 36, "7/29/2018", 35.00m, 1260.00m);
            Outing outingFive  = new Outing("Concert", 45, "9/13/2018", 37.00m, 1665.00m);
            Outing outingSix   = new Outing("Bowling", 20, "8/15/2018", 15.00m, 300.00m);

            outingRepo.AddOutingToList(outingOne);
            outingRepo.AddOutingToList(outingTwo);
            outingRepo.AddOutingToList(outingThree);
            outingRepo.AddOutingToList(outingFour);
            outingRepo.AddOutingToList(outingFive);
            outingRepo.AddOutingToList(outingSix);

            bool isRunning = true;

            while (isRunning)
            {
                Console.WriteLine("What would you like to do?\n\t" +
                                  "1 Add an Event\n\t" +
                                  "2 Print a List of All Events\n\t" +
                                  "3 View Total Costs by Event Type\n\t" +
                                  "4 View Total Costs\n\t" +
                                  "5 Exit");
                int input = outingRepo.ParseResponseToInt();

                switch (input)
                {
                case 1:
                    var outing = CreateNewOuting();
                    outingRepo.AddOutingToList(outing);
                    isRunning = true;
                    break;

                case 2:
                    PrintOutingListString();
                    isRunning = true;
                    break;

                case 3:
                    CalculateTotalCostsByEvent();
                    isRunning = true;
                    break;

                case 4:
                    CalculateTotalCombinedEventCost();
                    isRunning = true;
                    break;

                case 5:
                    Console.WriteLine("Thank you!");
                    isRunning = false;
                    break;

                default:
                    break;
                }
            }
        }