Example #1
0
        internal static void ShowInfoHotelNumber(HotelNumber hotelNumber, Hotel hotel, int selectedHotel)
        {
            Console.Clear();

            Console.WriteLine($"Вы выбрали номер в отеле типа -> {hotelNumber.GetTypeNumberForLocalization()}, что бы вернуться назад введите n");
            Console.WriteLine($"Информация об номере в отеле {hotel.Name}.");

            StringBuilder info = new StringBuilder();

            info.AppendLine($"Свободных номеров данного типа: {hotelNumber.Free}");
            info.AppendLine($"Вместимость : {hotelNumber.Places}");
            info.AppendLine($"Цена за сутки: {hotelNumber.Price} рублей.");



            string selectedAction = String.Empty;

            while (selectedAction == String.Empty)
            {
                Console.WriteLine("Что бы заселить человека введетие (Y), что бы вернуться назад введите (N).");
                Console.WriteLine("-> ");
                try
                {
                    string result = Console.ReadLine();
                    selectedAction = result;
                    MoveToRegOrNumbers(result, selectedHotel, hotel, hotelNumber);
                }
                catch
                {
                    Console.WriteLine("Вы ввели не корректные данные. Попробуйте ещё раз.");
                    selectedAction = String.Empty;
                }
            }
        }
Example #2
0
        private static void MoveToRegOrNumbers(string selectedAction, int selectedHotel, Hotel hotel, HotelNumber hotelNumber)
        {
            if (selectedAction == "y" || selectedAction == "Y")
            {
                string fiog, phoneg, passportg;
                Console.WriteLine("Введите Ф.И.О жильца -> ");
                fiog = Console.ReadLine();
                Console.WriteLine("Введите номер телефона жильца -> ");
                phoneg = Console.ReadLine();
                Console.WriteLine("Введите серию и номер паспорта жильца -> ");
                passportg = Console.ReadLine();


                int days = -1;
                while (days == -1)
                {
                    try
                    {
                        Console.WriteLine("Введите сколько дней будет проживать жилец -> ");
                        days = Convert.ToInt32(Console.ReadLine());
                        if (days <= 0)
                        {
                            throw new Exception("Не верное колличество дней.");
                        }
                    }
                    catch
                    {
                        days = -1;
                        Console.WriteLine("Некорректо введены данные, введите число! ");
                    }
                }

                int finalPrice = hotelNumber.Price * days;

                Person person = new Person()
                {
                    fio        = fiog,
                    phone      = phoneg,
                    passport   = passportg,
                    hotelName  = hotel.Name,
                    typeNumber = hotelNumber.GetTypeNumberForLocalization(),
                    FinalPrice = finalPrice
                };

                DataController.SerializeAndSaveToFileDataPersons(person);
                hotelNumber.Free--;
                DataController.UpdateInformationHotels(lastLoadedHotels);
                Console.Clear();

                Console.WriteLine($"Вы успешно заселили {fiog} в отель {hotel.Name} с уровнем комфортности  {hotelNumber.GetTypeNumberForLocalization()}. Итого: {finalPrice}");
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine();
                //Перезапускаем цикл работы программы.
                FirstLaunch();
            }
            else if (selectedAction == "n" || selectedAction == "N")
            {
                Console.Clear();
                ShowInfoHotel(selectedHotel);
            }
            else
            {
                throw new Exception("Не корректная информация.");
            }
        }