Imagara 3 vuotta sitten
vanhempi
commit
a54e797b55

+ 10 - 0
Kusach/Functions.cs

@@ -62,6 +62,16 @@ namespace Kusach
         {
             return cnt.db.Dispatcher.Select(item => item.Login).Contains(login);
         }
+        // Проверка на уникальность номера телефона
+        public static bool IsPhoneNumberAlreadyTaken(string PhoneNum)
+        {
+            return cnt.db.Dispatcher.Select(item => item.PhoneNumber).Contains(PhoneNum);
+        }
+        // Проверка на уникальность электронной почты
+        public static bool IsEmailAlreadyTaken(string Email)
+        {
+            return cnt.db.Dispatcher.Select(item => item.Email).Contains(Email);
+        }
         // Получение названия транспорта по его id 
         public static string GetNameOfTransport(int transportId)
         {

+ 1 - 1
Kusach/Windows/LogWindow.xaml.cs

@@ -19,7 +19,7 @@ namespace Kusach
         private void LogButton_Click(object sender, RoutedEventArgs e)
         {
             if(!Functions.IsValidLogAndPass(logbox.Text, passbox.Password))
-                MessageBox.Show("Поля не могут быть пустыми.");
+                MessageBox.Show("Поля не могут быть пустыми");
             else if (!Functions.LoginCheck(logbox.Text, passbox.Password))
                 MessageBox.Show("Неверный логин или пароль");
             else

+ 6 - 2
Kusach/Windows/RegWindow.xaml.cs

@@ -24,10 +24,14 @@ namespace Kusach
                     MessageBox.Show("Данный логин уже занят");
                 else if (!Functions.IsValidPhoneNumber(PhoneBox.Text))
                     MessageBox.Show("Номер телефона введен неверно.");
+                else if (Functions.IsPhoneNumberAlreadyTaken(PhoneBox.Text))
+                    MessageBox.Show("Данный номер телефона уже используется");
                 else if (!Functions.IsValidEmail(EmailBox.Text))
-                    MessageBox.Show("Email введен неверно."); 
+                    MessageBox.Show("Email введен неверно.");
+                else if (Functions.IsEmailAlreadyTaken(EmailBox.Text))
+                    MessageBox.Show("Данный email уже используется.");
                 else if (!Functions.IsValidDateOfBirthday(Convert.ToDateTime(BirthdayBox.Text)))
-                    MessageBox.Show("День рождения введен неверно.");
+                    MessageBox.Show("Дата рождения введена неверно.");
                 else
                 {
                     Dispatcher newUser = new Dispatcher()

+ 19 - 0
UnitTests/UnitTest1.cs

@@ -121,5 +121,24 @@ namespace UnitTests
             Assert.IsTrue(Functions.IsValidDateOfBirthday(date1));
             Assert.IsFalse(Functions.IsValidDateOfBirthday(date2));
         }
+        [TestMethod]
+        public void IsPhoneNumberAlreadyTaken()
+        {
+            Assert.IsTrue(Functions.IsPhoneNumberAlreadyTaken("7776006060"));
+            Assert.IsFalse(Functions.IsPhoneNumberAlreadyTaken("7776006061"));
+            Assert.IsFalse(Functions.IsPhoneNumberAlreadyTaken("7776006062"));
+            Assert.IsFalse(Functions.IsPhoneNumberAlreadyTaken("7776006063"));
+            Assert.IsFalse(Functions.IsPhoneNumberAlreadyTaken("7776006064"));
+            Assert.IsFalse(Functions.IsPhoneNumberAlreadyTaken("7776006065"));
+        }
+        [TestMethod]
+        public void IsEmailAlreadyTaken()
+        {
+            Assert.IsTrue(Functions.IsEmailAlreadyTaken("filaks@gmail.com"));
+            Assert.IsFalse(Functions.IsEmailAlreadyTaken("filaks@mail.ru"));
+            Assert.IsFalse(Functions.IsEmailAlreadyTaken("cute@gmail.com"));
+            Assert.IsFalse(Functions.IsEmailAlreadyTaken("user@gmail.com"));
+            Assert.IsFalse(Functions.IsEmailAlreadyTaken("simpleEmail@sibmail.com"));
+        }
     }
 }