public static void BookingNumber(BookingLog note, Room room, User user, Hotel hotel) { //note.RoomNumber = room.Number; //note.GuestName = user.Login; //note.HotelName = hotel.Name; user.Id = AccountsTableDataService.GetAccountId(user.Login); Console.Write("Please ender data:\n" + "ArrivalDate (dd.mm.yyyy): "); note.ArrivalDate = DateTime.Parse(Console.ReadLine()); Console.Write("DepartureDate (dd.mm.yyyy): "); note.DepartureDate = DateTime.Parse(Console.ReadLine()); Console.WriteLine("\n1) To book \n2) To Pay"); int choice = int.Parse(Console.ReadLine()); if (choice == 1) { note.Payment = 0; } else if (choice == 2) { note.Payment = (note.DepartureDate - note.ArrivalDate).TotalDays * RoomsTableDataService.GetRoomPrice(room.Id); } BookingLogTableDataService.AddNote(note, room.Id, user.Id, hotel.Id); }
public static void EnterPhoneNumber(User user) { Console.Clear(); const int FIELD_NUMBER_5 = 5; String stars = new string('*', user.Password.Length); Show(user, FIELD_NUMBER_5, stars, stars); user.PhoneNumber = Console.ReadLine(); string pattern = @"^\+?[7]\d{10}$"; if (!(Regex.IsMatch(user.PhoneNumber, pattern, RegexOptions.IgnoreCase))) { Console.WriteLine("Телефонный номер содержит недопустимые символы или введен не корректно, нажмите Enter чтобы ввести заново..."); user.PhoneNumber = ""; Console.ReadKey(); EnterPhoneNumber(user); } if (AccountsTableDataService.CheckForAvailability("PhoneNumber", user.PhoneNumber)) { Console.WriteLine("Номер уже использовался, нажмите Enter чтобы ввести заново..."); user.PhoneNumber = ""; Console.ReadKey(); EnterPhoneNumber(user); } }
public static void EnterEmail(User user) { Console.Clear(); const int FIELD_NUMBER_4 = 4; String stars = new string('*', user.Password.Length); Show(user, FIELD_NUMBER_4, stars, stars); user.Email = Console.ReadLine(); string pattern = @"^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$"; if (!(Regex.IsMatch(user.Email, pattern))) { Console.WriteLine("Некорректный email, нажмите Enter чтобы ввести заново..."); user.Email = ""; Console.ReadKey(); EnterEmail(user); } if (AccountsTableDataService.CheckForAvailability("Email", user.Email)) { Console.WriteLine("Данная почта уже существует в базе данных, нажмите Enter чтобы ввести заново..."); user.Email = ""; Console.ReadKey(); EnterEmail(user); } }
public static void SignUp(User user, AccountsTableDataService dataService) { EnterLogin(user); EnterPassword(user); ConfirmPassword(user); EnterEmail(user); EnterPhoneNumber(user); string adoptedCode = Registration.VerificationAccount(); System.Console.WriteLine("\nМы отправили на указанный Вами номер код верификации, введите его ниже..."); while (true) { System.Console.Write("\nКод подтверждения: "); string verificationCode = System.Console.ReadLine(); if (verificationCode == adoptedCode) { System.Console.Clear(); dataService.AddUser(user); System.Console.WriteLine("Поздравляем! Вы успешно прошли регистрацию"); break; } else { System.Console.WriteLine("Неверный код верификации, нажмите Enter чтобы ввести заново..."); System.Console.ReadKey(); System.Console.Clear(); String stars = new string('*', user.Password.Length); Registration.Show(user, 5, stars, stars); } } }
static void Main(string[] args) { User user = new User(); var dataService = new AccountsTableDataService(); while (true) { System.Console.Clear(); System.Console.Write("1) Registration \n" + "2) Authorization \n" + "3) Exit \n" + "Choice: "); int choice = int.Parse(System.Console.ReadLine()); if (choice == 1) { Registration.SignUp(user, dataService); } else if (choice == 2) { Authorization.SignIn(user); List <Hotel> hotels = HotelsTableDataService.GetAllHotels(); for (int i = 0; i < hotels.Count; i++) { System.Console.WriteLine($"{i+1}) {hotels[i].Name}"); } System.Console.Write("Choice: "); int hotelPosition = int.Parse(System.Console.ReadLine()); List <Room> rooms = RoomsTableDataService.GetAvailableRooms(hotels[hotelPosition - 1].Id); System.Console.WriteLine("{0,7} | {1,15} | {2,10}", "№", "Category", "Price"); for (int i = 0; i < rooms.Count; i++) { System.Console.Write($"{i+1}) "); rooms[i].Show(i + 1); } System.Console.Write("Please, make your choice: "); int roomPosition = int.Parse(System.Console.ReadLine()); BookingLog note = new BookingLog(); Reservation.BookingNumber(note, rooms[roomPosition - 1], user, hotels[hotelPosition - 1]); System.Console.ReadLine(); } else { System.Environment.Exit(0); } } }
public static void EnterLogin(User user) { Console.Clear(); const int FIELD_NUMBER = 1; Show(user, FIELD_NUMBER); user.Login = Console.ReadLine(); Regex regex = new Regex(@"\W|[А-Яа-я]+"); MatchCollection matches = regex.Matches(user.Login); if (matches.Count > 0) { Console.WriteLine("Логин содержит недопустимые символы, нажмите Enter чтобы ввести заново..."); user.Login = ""; Console.ReadKey(); EnterLogin(user); } var results = new List <ValidationResult>(); var context = new ValidationContext(user); if (!Validator.TryValidateObject(user, context, results, true)) { foreach (var error in results) { Console.WriteLine(error.ErrorMessage); } user.Login = ""; Console.ReadKey(); EnterLogin(user); } if (AccountsTableDataService.CheckForAvailability("Login", user.Login)) { Console.WriteLine("Логин уже занят, нажмите Enter чтобы ввести заново..."); user.Login = ""; Console.ReadKey(); EnterLogin(user); } }
private static bool EnterLogin(User user) { Console.Write("Login: "******"Login", user.Login)); }
private static bool EnterPassword(User user) { Console.Write("Password: "******"Password", user.Password, user.Login)); }