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; } } }
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("Не корректная информация."); } }