public static void DisRec()
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("ALL RECORDS AND AVAILABLE SPACE" + Environment.NewLine);
            Console.ForegroundColor = ConsoleColor.White;

            //check the available space in the berth
            double spaceAvailable = MarinaTools.spaceAvailable();

            Console.WriteLine("The current available space in the berth is " + spaceAvailable + "m" + Environment.NewLine);

            Console.WriteLine("All the bookings:" + Environment.NewLine);

            Console.ForegroundColor = ConsoleColor.Yellow;

            //Call a method to read from the list of all records
            RecordList recordsList = MarinaTools.readList();

            //Print all the records
            foreach (var item in recordsList)
            {
                Console.WriteLine(item + Environment.NewLine);
            }


            Console.WriteLine(Environment.NewLine + "Press enter to go back to the main menu");
            Console.ResetColor();
            MarinaTools.goBackMainMenu();
        }
        public static void deleteByDisplay()
        {
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("DELETE A RECORD" + Environment.NewLine);

            //Call a method to read from the list of all records
            RecordList recordsList = MarinaTools.readList();

            Console.ForegroundColor = ConsoleColor.White;
            //Print all the records
            Console.WriteLine(String.Join(Environment.NewLine + Environment.NewLine, recordsList));

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine(Environment.NewLine + "Insert the position number that you want to delete >");
            Console.ForegroundColor = ConsoleColor.White;

            string inputNumber;
            bool   repeat;

            do
            {
                inputNumber = Console.ReadLine();
                repeat      = MarinaTools.checkIntInput(inputNumber);
            } while (repeat == true);

            int delNumber = int.Parse(inputNumber);

            finalDelCheck(delNumber, recordsList);
        }
        public static void deleteByNames()
        {
            Console.Clear();
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("DELETE A RECORD" + Environment.NewLine);

            //Call a method to read from the list of all records
            RecordList recordsList = MarinaTools.readList();


            Console.WriteLine("In order to delete your booking we need you to input some information: " + Environment.NewLine);
            Console.ForegroundColor = ConsoleColor.White;

            bool   repeat;
            string oName, bName;


            do
            {
                Console.WriteLine("Name of the owner > ");
                oName  = Console.ReadLine();
                repeat = MarinaTools.checkStringInput(oName);
            } while (repeat == true);

            do
            {
                Console.WriteLine("Name of the boat > ");
                bName  = Console.ReadLine();
                repeat = MarinaTools.checkStringInput(bName);
            } while (repeat == true);

            //find the records that contain the inserted owner name and owner boat
            IEnumerable <RecordNode> delList = recordsList.Where(record => (record.getName() == oName) && (record.getBoat() == bName));

            if (delList.Count() != 0)
            {
                Console.WriteLine(String.Join(Environment.NewLine, delList));


                Console.WriteLine("Insert the position number that you want to delete >");

                string inputNumber;

                do
                {
                    inputNumber = Console.ReadLine();
                }while (repeat == true);

                int delNumber = int.Parse(inputNumber);

                finalDelCheck(delNumber, recordsList);
            }
            else
            {
                Console.WriteLine("The entered details have 0 matches. Press enter to go back to the main menu.");
                MarinaTools.goBackMainMenu();
            }
        }
Exemple #4
0
        public static void newRecord()         // here is where the user input the information for the new object and where I create the record objects and the list
        {
            Console.ForegroundColor = ConsoleColor.White;
            Console.Clear();

            // user inputs info for his booking record
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("In order to complete the booking you have to to input some information: " + Environment.NewLine);
            Console.ForegroundColor = ConsoleColor.White;
            bool   repeat;
            string oName, bName;
            char   bType;



            do
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Name of the owner > ");
                oName  = (Console.ReadLine()).Trim();
                repeat = MarinaTools.checkStringInput(oName);
            } while (repeat == true);

            do
            {
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Name of the boat > ");
                bName  = (Console.ReadLine()).Trim();
                repeat = MarinaTools.checkStringInput(bName);
            } while (repeat == true);


            string inputType;

            do
            {
                Console.WriteLine("input the type of the boat: N for narrow, S for sailing, M for motor > ");
                inputType = Console.ReadLine();
                repeat    = MarinaTools.checkBoatType(inputType);               //method that validates the user input for the boat type
            } while (repeat == true);

            string lowInputType = inputType.ToLower(new CultureInfo("en-US", false));

            bType = lowInputType[0];


            //reads the list from the file or creates a new one
            RecordList recordsList = MarinaTools.readList();

            //counts the number of records in the list in order to assign a position to the current object
            int bPosition = recordsList.Count();

            //Creates an object containing all the customer information
            RecordNode record = new RecordNode(oName, bName, bType, bPosition);

            //adds the current object at the end of the list
            recordsList.addRecordAtEnd(record);


            //Serializes and rewrite the list in the file of booking
            MarinaTools.writeList(recordsList);

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("Your booking is confirmed. Press enter to go back to the main menu.");
            MarinaTools.goBackMainMenu();
        }