public bool TryLeaveParkingWithTicket(int ticketNumber, out ParkingSession session)
        {
            session = openSessions.FirstOrDefault(s => s.TicketNumber == ticketNumber);
            var parkingTime  = DateTime.Now - session.EntryDt;
            var iParkingTime = parkingTime.Days * 24 * 60 + parkingTime.Hours * 60 + parkingTime.Minutes;

            if (freeParkingTime < iParkingTime)
            {
                session = null;
                return(false);
            }
            else
            {
                session.ExitDt = DateTime.Now;
                openSessions.Remove(session);
                closedSessions.Add(session);
                return(true);
            }

            /*
             * Check that the car leaves parking within the free leave period
             * from the PaymentDt (or if there was no payment made, from the EntryDt)
             * 1. If yes:
             *   1.1 Complete the parking session by setting the ExitDt property
             *   1.2 Move the session from the list of active sessions to the list of past sessions             *
             *   1.3 return true and the completed parking session object in the out parameter
             *
             * 2. Otherwise, return false, session = null
             */
        }
        private List <ParkingSession> GetSessions(string informationFile, string sessionType)
        {
            var fileReader     = File.ReadAllText("../../../" + informationFile);
            var listfileReader = fileReader.Split(new char[] { '\n' });
            List <ParkingSession> tmpParkingSession = new List <ParkingSession>();

            foreach (var s in listfileReader)
            {
                var tmpString = s.Split(new char[] { ',' });
                if (tmpString[0] == sessionType)
                {
                    var newActiveSession = new ParkingSession();
                    newActiveSession.CarPlateNumber = tmpString[1];
                    newActiveSession.EntryDt        = Convert.ToDateTime(tmpString[2]);
                    if (tmpString[3] != "")
                    {
                        newActiveSession.ExitDt = Convert.ToDateTime(tmpString[3]);
                    }
                    if (tmpString[4] != "")
                    {
                        newActiveSession.PaymentDt = Convert.ToDateTime(tmpString[4]);
                    }
                    newActiveSession.TicketNumber = Convert.ToInt32(tmpString[5]);
                    if (tmpString[6] != "")
                    {
                        newActiveSession.TotalPayment = Convert.ToDecimal(tmpString[6]);
                    }
                    tmpParkingSession.Add(newActiveSession);
                }
            }
            return(tmpParkingSession);
        }
        public bool TryLeaveParkingWithTicket(int ticketNumber, out ParkingSession session)
        {
            session = FindSession(ticketNumber);
            if (GetRemainingCost(ticketNumber) == 0)
            {
                session.ExitDt = DateTime.Now;
                activeSessions.Remove(session);
                passiveSessions.Add(session);
                WriteSessionData();
                return(true);
            }
            else
            {
                session = null;
                return(false);
            }

            /*
             * Check that the car leaves parking within the free leave period
             * from the PaymentDt (or if there was no payment made, from the EntryDt)
             * 1. If yes:
             *   1.1 Complete the parking session by setting the ExitDt property
             *   1.2 Move the session from the list of active sessions to the list of past sessions             *
             *   1.3 return true and the completed parking session object in the out parameter
             *
             * 2. Otherwise, return false, session = null
             */
        }
Example #4
0
 /* ADDITIONAL TASK 2 */
 public bool TryLeaveParkingByCarPlateNumber(string carPlateNumber, out ParkingSession session)
 {
     /* There are 3 scenarios for this method:
      *
      * 1. The user has not made any payments but leaves the parking within the free leave period
      * from EntryDt:
      * 1.1 Complete the parking session by setting the ExitDt property
      * 1.2 Move the session from the list of active sessions to the list of past sessions             *
      * 1.3 return true and the completed parking session object in the out parameter
      *
      * 2. The user has already paid for the parking session (session.PaymentDt != null):
      * Check that the current time is within the free leave period from session.PaymentDt
      * 2.1. If yes, complete the session in the same way as in the previous scenario
      * 2.2. If no, return false, session = null
      *
      * 3. The user has not paid for the parking session:
      * 3a) If the session has a connected user (see advanced task from the EnterParking method):
      * ExitDt = PaymentDt = current date time;
      * TotalPayment according to the tariff table:
      *
      * IMPORTANT: before calculating the parking charge, subtract FreeLeavePeriod
      * from the total number of minutes passed since entry
      * i.e. if the registered visitor enters the parking at 10:05
      * and attempts to leave at 10:25, no charge should be made, otherwise it would be unfair
      * to loyal customers, because an ordinary printed ticket could be inserted in the payment
      * kiosk at 10:15 (no charge) and another 15 free minutes would be given (up to 10:30)
      *
      * return the completed session in the out parameter and true in the main return value
      *
      * 3b) If there is no connected user, set session = null, return false (the visitor
      * has to insert the parking ticket and pay at the kiosk)
      */
     throw new NotImplementedException();
 }
Example #5
0
        /* BASIC PART */
        public ParkingSession EnterParking(string carPlateNumber)
        {
            // Check that there is a free parking place (by comparing the parking capacity
            // with the number of active parking sessions). If there are no free places, return null
            if (activeSessions.Count == ParkingCapacity)
            {
                return(null);
            }

            // Also check that there are no existing active sessions with the same car plate number,
            // if such session exists, also return null
            foreach (ParkingSession session in activeSessions)
            {
                if (session.CarPlateNumber == carPlateNumber)
                {
                    return(null);
                }
            }

            // Otherwise:
            // Create a new Parking session, fill the following properties:
            // EntryDt = current date time
            // CarPlateNumber = carPlateNumber (from parameter)
            // TicketNumber = unused parking ticket number = generate this programmatically
            ParkingSession newSession =
                new ParkingSession(CurrentTime, carPlateNumber, ParkingSession.GenerateTicketNumber());

            // Add the newly created session to the list of active sessions
            activeSessions.Add(newSession);

            // Advanced task:
            // Link the new parking session to an existing user by car plate number (if such user exists)

            return(newSession);
        }
 public ParkingSession EnterParking(string carPlateNumber)
 {
     if (activeSessions.Count < capacity)
     {
         var check = activeSessions.Exists(e => e.CarPlateNumber == carPlateNumber);
         if (check == true)
         {
             return(null);
         }
         else
         {
             var newSession = new ParkingSession();
             newSession.EntryDt        = DateTime.Now;
             newSession.CarPlateNumber = carPlateNumber;
             if (activeSessions.Count != 0)
             {
                 newSession.TicketNumber = activeSessions[activeSessions.Count - 1].TicketNumber + 1;
             }
             newSession.TicketNumber = 1;
             var checkuser = users.Exists(e => e.CarPlateNumber == carPlateNumber);
             if (checkuser == true)
             {
                 newSession.ParkingUser = users.Find(e => e.CarPlateNumber == carPlateNumber);
             }
             activeSessions.Add(newSession);
             SessionFileRewriter(activeSessions, "/dataActiveSession.txt");
             return(newSession);
         }
     }
     else
     {
         return(null);
     }
 }
Example #7
0
        public bool TryLeaveParkingWithTicket(int ticketNumber, out ParkingSession session)
        {
            int sessionIndex = GetActiveParkingSessionIndex(ticketNumber);

            if (sessionIndex == -1)
            {
                session = null;
                return(false);
            }

            // Check that the car leaves parking within the free leave period
            // from the PaymentDt (or if there was no payment made, from the EntryDt)
            int diff = GetTotalMinutesSinceLastPayment(sessionIndex);

            if (diff < FreeLeavePeriod)
            {
                // Complete the parking session by setting the ExitDt property
                activeSessions[sessionIndex].ExitDt = CurrentTime;
                // Move the session from the list of active sessions to the list of past sessions
                completedSessions.Add(activeSessions[sessionIndex]);
                activeSessions.RemoveAt(sessionIndex);
                // Return true and the completed parking session object in the out parameter
                session = completedSessions[completedSessions.Count - 1];
                return(true);
            }

            session = null;
            return(false);
        }
        public ParkingSession EnterParking(string carPlateNumber)
        {
            if (freeParkingPlaces > activeSessions.Count)
            {
                bool nummerCheck = true;
                foreach (var s in activeSessions)
                {
                    if (s.CarPlateNumber == carPlateNumber)
                    {
                        nummerCheck = false;
                    }
                }
                if (nummerCheck == true)
                {
                    var newElement = new ParkingSession();
                    newElement.EntryDt        = DateTime.Now;
                    newElement.CarPlateNumber = carPlateNumber;
                    if (activeSessions.Count != 0)
                    {
                        newElement.TicketNumber = activeSessions[activeSessions.Count - 1].TicketNumber + 1;
                    }
                    else
                    {
                        newElement.TicketNumber = 0;
                    }
                    activeSessions.Add(newElement);
                    WriteSessionData();
                    return(newElement);
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }

            /* Check that there is a free parking place (by comparing the parking capacity
             * with the number of active parking sessions). If there are no free places, return null
             *
             * Also check that there are no existing active sessions with the same car plate number,
             * if such session exists, also return null
             *
             * Otherwise:
             * Create a new Parking session, fill the following properties:
             * EntryDt = current date time
             * CarPlateNumber = carPlateNumber (from parameter)
             * TicketNumber = unused parking ticket number = generate this programmatically
             *
             * Add the newly created session to the list of active sessions
             *
             * Advanced task:
             * Link the new parking session to an existing user by car plate number (if such user exists)
             */
        }
        public bool TryLeaveParkingByCarPlateNumber(string carPlateNumber, out ParkingSession session)
        {
            session = activeSessions.Find(e => e.CarPlateNumber == carPlateNumber);
            var remainingCost = GetRemainingCost(session.TicketNumber);

            if (session.PaymentDt == null & remainingCost == 0)
            {
                session.ExitDt = DateTime.Now;
                activeSessions.Remove(session);
                SessionFileRewriter(activeSessions, "/dataActiveSession.txt");
                endedSessions.Add(session);
                SessionFileRewriter(endedSessions, "/dataEndedSession.txt");
                return(true);
            }
            else
            {
                if (session.PaymentDt != null)
                {
                    if (remainingCost == 0)
                    {
                        session.ExitDt = DateTime.Now;
                        activeSessions.Remove(session);
                        SessionFileRewriter(activeSessions, "/dataActiveSession.txt");
                        endedSessions.Add(session);
                        SessionFileRewriter(endedSessions, "/dataEndedSession.txt");
                        return(true);
                    }
                    else
                    {
                        session = null;
                        return(false);
                    }
                }
                else
                {
                    if (session.ParkingUser != null)
                    {
                        session.ExitDt    = DateTime.Now;
                        session.PaymentDt = session.ExitDt;
                        session.EntryDt.AddMinutes(15);
                        var userRemainingCost = GetRemainingCost(session.TicketNumber);
                        session.TotalPayment = remainingCost;
                        activeSessions.Remove(session);
                        endedSessions.Add(session);
                        return(true);
                    }
                    else
                    {
                        session = null;
                        return(false);
                    }
                }
            }
        }
        public ParkingSession EnterParking(string carPlateNumber)
        {
            int      cur_sessinon_length = this.ActiveSessions.Count;
            object   cur_ses_exist       = Get_cur_session(carPlateNumber);
            DateTime Cur_date_entr       = DateTime.Now;
            User     Current_user        = Get_cur_user(carPlateNumber);

            /* Check that there is a free parking place (by comparing the parking capacity
             * with the number of active parking sessions). If there are no free places, return null
             */

            if (cur_sessinon_length >= ParkingManager.Capacity)
            {
                return(null);
            }

            /* Also check that there are no existing active sessions with the same car plate number,
             * if such session exists, also return null
             */

            if (cur_ses_exist != null)
            {
                return(null);
            }

            /* Otherwise:
             * Create a new Parking session, fill the following properties:
             * EntryDt = current date time
             * CarPlateNumber = carPlateNumber (from parameter)
             * TicketNumber = unused parking ticket number = generate this programmatically
             */
            ParkingSession New_session = new ParkingSession();

            New_session.EntryDt        = Cur_date_entr;
            New_session.CarPlateNumber = carPlateNumber;
            New_session.TicketNumber   = this.Get_new_ticket();
            New_session.User           = Current_user;

            /* Add the newly created session to the list of active sessions
             */
            this.ActiveSessions.Add(New_session);

            /* Advanced task:
             * Link the new parking session to an existing user by car plate number (if such user exists)
             */
            Files.Save_file(this);

            return(New_session);


            throw new NotImplementedException();
        }
        /* BASIC PART */
        public ParkingSession EnterParking(string carPlateNumber)
        {
            if (parkingCapacity > openSessions.Count)
            {
                var i = 0;
                while (i < openSessions.Count)
                {
                    if (openSessions[i].CarPlateNumber == carPlateNumber)
                    {
                        return(null);
                    }
                    i++;
                }
                ParkingSession newSession = new ParkingSession();
                newSession.EntryDt        = DateTime.Now;
                newSession.CarPlateNumber = carPlateNumber;
                if (openSessions != null)
                {
                    newSession.TicketNumber = openSessions[openSessions.Count - 1].TicketNumber + 1;
                }
                else
                {
                    newSession.TicketNumber = 1;
                }
                openSessions.Add(newSession);
                return(newSession);
            }
            else
            {
                return(null);
            }



            /* Check that there is a free parking place (by comparing the parking capacity
             * with the number of active parking sessions). If there are no free places, return null
             *
             * Also check that there are no existing active sessions with the same car plate number,
             * if such session exists, also return null
             *
             * Otherwise:
             * Create a new Parking session, fill the following properties:
             * EntryDt = current date time
             * CarPlateNumber = carPlateNumber (from parameter)
             * TicketNumber = unused parking ticket number = generate this programmatically
             *
             * Add the newly created session to the list of active sessions
             *
             * Advanced task:
             * Link the new parking session to an existing user by car plate number (if such user exists)
             */
        }
        private ParkingSession FindSession(int ticketNumber)
        {
            var session = new ParkingSession();

            foreach (var k in activeSessions)
            {
                if (k.TicketNumber == ticketNumber)
                {
                    session = k;
                }
            }
            return(session);
        }
        private int?FindParkingTime(ParkingSession session)
        {
            int?time = 0;

            if (session.PaymentDt != null)
            {
                time = Convert.ToInt32((DateTime.Now - session.PaymentDt)?.TotalMinutes);
            }
            else
            {
                time = Convert.ToInt32((DateTime.Now - session.EntryDt).TotalMinutes);
            }
            return(time);
        }
Example #14
0
        private void EmulateUserActivity()
        {
            ParkingManager parkingManager = new ParkingManager();

            for (int i = 0; i < parkingManager.Users.Count; i++)
            {
                parkingManager.EnterParking(parkingManager.Users[i].CarPlateNumber);
                ParkingSession session = new ParkingSession();
                parkingManager.TryLeaveParkingByCarPlateNumber(parkingManager.Users[i].CarPlateNumber, out session);
            }
            for (int i = 0; i < parkingManager.Users.Count / 2; i++)
            {
                parkingManager.EnterParking(parkingManager.Users[i].CarPlateNumber);
                ParkingSession session = new ParkingSession();
            }
        }
 public bool TryLeaveParkingWithTicket(int ticketNumber, out ParkingSession session)
 {
     session = activeSessions.Find(e => e.TicketNumber == ticketNumber);
     if (GetRemainingCost(session.TicketNumber) == 0)
     {
         session.ExitDt = DateTime.Now;
         activeSessions.Remove(session);
         SessionFileRewriter(activeSessions, "/dataActiveSession.txt");
         endedSessions.Add(session);
         SessionFileRewriter(endedSessions, "/dataEndedSession.txt");
         return(true);
     }
     else
     {
         session = null;
         return(false);
     }
 }
        public bool TryLeaveParkingWithTicket(int ticketNumber, out ParkingSession session)
        {
            /*
             * Check that the car leaves parking within the free leave period
             * from the PaymentDt (or if there was no payment made, from the EntryDt)
             * 1. If yes:
             *   1.1 Complete the parking session by setting the ExitDt property
             *   1.2 Move the session from the list of active sessions to the list of past sessions             *
             *   1.3 return true and the completed parking session object in the out parameter
             *
             * 2. Otherwise, return false, session = null
             */
            session = Get_session_by_ticket(ticketNumber);
            DateTime startTimer;


            if (session is null)
            {
                return(false);
            }


            startTimer = session.PaymentDt == null ? session.EntryDt : (DateTime)session.PaymentDt;


            if (startTimer.AddMinutes(this.FreePeriod) < (DateTime.Now))
            {
                session = null;

                return(false);
            }
            DateTime Exit_time = DateTime.Now;

            session.ExitDt = Exit_time;

            this.CompleteSession(session);

            Files.Save_file(this);

            return(true);

            throw new NotImplementedException();
        }
        public void PayForParking(int ticketNumber, decimal amount)
        {
            /*
             * Save the payment details in the corresponding parking session
             * Set PaymentDt to current date and time
             *
             * For simplicity we won't make any additional validation here and always
             * assume that the parking charge is paid in full
             */
            ParkingSession session = Get_session_by_ticket(ticketNumber);

            session.PaymentDt = DateTime.Now;

            session.TotalPayment = session.TotalPayment == null ? 0 : session.TotalPayment;

            session.TotalPayment += amount;

            Files.Save_file(this);
        }
        public decimal GetRemainingCost(int ticketNumber)
        {
            /* Return the amount to be paid for the parking
             * If a payment had already been made but additional charge was then given
             * because of a late exit, this method should return the amount
             * that is yet to be paid (not the total charge)
             */
            ParkingSession session = Get_session_by_ticket(ticketNumber);

            DateTime Timer_start;


            Timer_start = session.PaymentDt == null ? session.EntryDt : (DateTime)session.PaymentDt;
            double Time_park = DateTime.Now.Subtract(Timer_start).TotalMinutes;

            return(this.Get_price(Time_park));



            throw new NotImplementedException();
        }
        private List <ParkingSession> SessionParser(string fullText)
        {
            List <ParkingSession> parkingSessions = new List <ParkingSession>();

            if (fullText != "")
            {
                var tmpData = fullText.Split(new char[] { ';' });
                foreach (var s in tmpData)
                {
                    if (s != "")
                    {
                        var data       = s.Split(new char[] { ',' });
                        var newSession = new ParkingSession();
                        if (data[0] != "")
                        {
                            newSession.EntryDt = DateTime.Parse(data[0]);
                        }
                        if (data[1] != "")
                        {
                            newSession.PaymentDt = DateTime.Parse(data[1]);
                        }
                        if (data[2] != "")
                        {
                            newSession.ExitDt = DateTime.Parse(data[2]);
                        }
                        if (data[3] != "")
                        {
                            newSession.TotalPayment = Convert.ToDecimal(data[3]);
                        }
                        newSession.CarPlateNumber = data[4];
                        newSession.TicketNumber   = Convert.ToInt32(data[5]);
                        parkingSessions.Add(newSession);
                    }
                }
            }
            return(parkingSessions);
        }
 private void CompleteSession(ParkingSession session)
 {
     this.ActiveSessions.Remove(session);
     this.CompletedSessions.Add(session);
 }
        public ParkingSession Get_session_by_ticket(int ticketNumber)
        {
            ParkingSession exist_cur_session = this.ActiveSessions.Find(cur_ses => cur_ses.TicketNumber == ticketNumber);

            return(exist_cur_session);
        }
        public ParkingSession Get_session_by_Plate_number(string Number)
        {
            ParkingSession Req_session = this.ActiveSessions.Find(s => s.CarPlateNumber == Number);

            return(Req_session);
        }
Example #23
0
        static void Main(string[] args)
        {
            ParkingManager Current_session = null;

            if (Files.Is_saved() == true)
            {
                Console.WriteLine(@"Previous session is stored,
                                    do you want to continue?
                                    Enter 'y' if yes");
                string continue_asnwer = Console.ReadLine();

                Current_session = continue_asnwer == "y" ? (ParkingManager)Files.Reload_session() : Current_session;
            }
            Current_session = Current_session == null ? new ParkingManager() : Current_session;

            Current_session = Current_session == null ? new ParkingManager() : Current_session;

            string Main_menu = (@"1 - Choose test scenario
                                  2 - Exit");

            while (true)
            {
                Console.WriteLine(Main_menu);
                string User_input = Console.ReadLine();
                switch (User_input)
                {
                case "1":
                    string   Scenario_menu = (@"Scenarios:
                                                  1 - Scenario 1 from task
                                                  2 - Scenario 2 from task
                                                  3 - Scenario 3 from task
                                                  4 - User leaves parking within 15 minutes
                                                  5 - No free places
                                                  6 - Same Plate Number");
                    string[] Cars =
                    {
                        "car1", "car2", "car3", "car4",  "car5",  "car6",
                        "car7", "car8", "car9", "car10", "car11", "car12"
                    };
                    int[] Add_hours =
                    {
                        -2, 0, -1, 0
                    };
                    int[] Add_mnutes =
                    {
                        0, -10, -30, -5
                    };
                    while (true)
                    {
                        Console.WriteLine(Scenario_menu);
                        string Scenario_choice = Console.ReadLine();
                        switch (Scenario_choice)
                        {
                        case "1":
                            ParkingSession session_1 = Current_session.EnterParking(Cars[0]);
                            session_1.EntryDt = session_1.EntryDt.AddHours(Add_hours[0]);
                            Console.WriteLine("Scenario 1");
                            Console.WriteLine($"Remaining cost : {Current_session.GetRemainingCost(session_1.TicketNumber)}");
                            Current_session.PayForParking(session_1.TicketNumber, Current_session.GetRemainingCost(session_1.TicketNumber));
                            Console.WriteLine($"Exiting: {Current_session.TryLeaveParkingWithTicket(session_1.TicketNumber, out session_1)}");
                            Console.WriteLine("---End of the scenario 1---");
                            break;

                        case "2":
                            ParkingSession session_2 = Current_session.EnterParking(Cars[1]);
                            session_2.EntryDt = session_2.EntryDt.AddMinutes(Add_mnutes[1]);
                            Console.WriteLine("Scenario 2");
                            Console.WriteLine($"Remaining cost: { Current_session.GetRemainingCost(session_2.TicketNumber)}");
                            Console.WriteLine($"Exiting: {Current_session.TryLeaveParkingWithTicket(session_2.TicketNumber, out session_2)}");
                            Console.WriteLine("---End of the scenario 2---");
                            break;

                        case "3":
                            ParkingSession session_3 = Current_session.EnterParking(Cars[2]);
                            session_3.EntryDt = session_3.EntryDt.AddHours(Add_hours[2]);
                            Console.WriteLine("Scenario 3");
                            Console.WriteLine($"Remaining cost: {Current_session.GetRemainingCost(session_3.TicketNumber)}");
                            Current_session.PayForParking(session_3.TicketNumber, Current_session.GetRemainingCost(session_3.TicketNumber));
                            DateTime newPaymentDt = (DateTime)session_3.PaymentDt;
                            session_3.PaymentDt = newPaymentDt.AddMinutes(Add_mnutes[2]);
                            Console.WriteLine($"Exiting: {Current_session.TryLeaveParkingWithTicket(session_3.TicketNumber, out session_3)}");
                            Console.WriteLine($"Remaining cost: {Current_session.GetRemainingCost(session_3.TicketNumber)}");
                            Current_session.PayForParking(session_3.TicketNumber, Current_session.GetRemainingCost(session_3.TicketNumber));
                            Console.WriteLine($"Exiting: {Current_session.TryLeaveParkingWithTicket(session_3.TicketNumber, out session_3)}");
                            Console.WriteLine("---End of the scenario 3---");
                            break;

                        case "4":
                            ParkingSession session_4 = Current_session.EnterParking(Cars[3]);
                            session_4.EntryDt = session_4.EntryDt.AddMinutes(Add_mnutes[3]);
                            Console.WriteLine("Scenario 4");
                            Console.WriteLine($"Exiting: {Current_session.TryLeaveParkingByCarPlateNumber(Cars[5], out session_4)}");
                            Console.WriteLine("---End of the scenario 4---");
                            break;

                        case "5":
                            Console.WriteLine("Scenario 5");
                            ParkingManager newParking = new ParkingManager();
                            for (int i = 0; i < ParkingManager.Capacity; i++)
                            {
                                ParkingSession session = newParking.EnterParking(Cars[4] + i);
                                if (session == null)
                                {
                                    Console.WriteLine($"Parking cannot accommodate {ParkingManager.Capacity} car");
                                }
                            }
                            string result_5 = (newParking.EnterParking(Cars[4]) == null ? "null" : "not null");
                            Console.WriteLine($"{ParkingManager.Capacity + 1} car entering the parking: {result_5}");
                            Console.WriteLine("---End of the scenario 5---");
                            break;

                        case "6":
                            Console.WriteLine("Scenario 6");
                            Current_session.EnterParking(Cars[5]);
                            string result_6 = Current_session.EnterParking(Cars[5]) == null ? "null" : "not null";
                            Console.WriteLine($"Car with the same plate number can't access parking: {result_6}");
                            Console.WriteLine();
                            break;

                        default:
                            Console.WriteLine("There is no such an option, try one more times");
                            break;
                        }
                    }
                    break;

                case "2":
                    Environment.Exit(0);
                    break;

                default:
                    Console.WriteLine("There is no such an option, try one more time");
                    break;
                }
            }
        }