Пример #1
0
        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);
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
                }
            }
        }
Пример #5
0
        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);
                }
            }
        }
Пример #6
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);
            }
        }
Пример #7
0
 private static bool EnterLogin(User user)
 {
     Console.Write("Login: "******"Login", user.Login));
 }
Пример #8
0
 private static bool EnterPassword(User user)
 {
     Console.Write("Password: "******"Password", user.Password, user.Login));
 }