Артем Гавриленко 3 éve
szülő
commit
0bd6c8b433

+ 44 - 3
Kusach/Functions.cs

@@ -9,6 +9,7 @@ namespace Kusach
 {
     public class Functions
     {
+        // Валидация номера телефона
         public static bool IsValidPhoneNumber(string phoneNumber)
         {
             foreach (char c in phoneNumber)
@@ -16,6 +17,7 @@ namespace Kusach
                     return false;
             return true;
         }
+        // Валидация электронной почты
         public static bool IsValidEmail(string email)
         {
             if (Regex.IsMatch(email, @"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$"))
@@ -23,17 +25,20 @@ namespace Kusach
             else
                 return false;
         }
+        // Валидация логина и пароля
         public static bool IsValidLogAndPass(string login, string password)
         {
-            if (login == "" || password == "")
-                return false;
-            else
+            if (login != "" && password != "")
                 return true;
+            else
+                return false;
         }
+        // Получение названия маршрута по его id
         public static string GetRouteName(int routeId)
         {
             return cnt.db.Routes.Where(item => item.IdRoute == routeId).Select(item => item.Name).FirstOrDefault();
         }
+        // Проверка на правильность введеных данных при входе
         public static bool LoginCheck(string login, string password)
         {
             if (cnt.db.Dispatcher.Select(item => item.Login + item.Password).Contains(login + Encrypt.GetHash(password)))
@@ -41,17 +46,53 @@ namespace Kusach
             else
                 return false;
         }
+        // Проверка на уникальность логина
         public static bool IsLoginAlreadyTaken(string login)
         {
             return cnt.db.Dispatcher.Select(item => item.Login).Contains(login);
         }
+        // Получение названия транспорта по его id 
         public static string GetNameOfTransport(int transportId)
         {
             return cnt.db.Transport.Where(item => item.IdTransport == transportId).Select(item => item.NameOfTransport).FirstOrDefault();
         }
+        // Получение номерного знака по его id
         public static string GetNumberPlate(int transportId)
         {
             return cnt.db.Transport.Where(item => item.IdTransport == transportId).Select(item => item.NumberPlate).FirstOrDefault();
         }
+        // Получение названия точки по ее id
+        public static string GetNameOfPoint(int pointId)
+        {
+            return cnt.db.Points.Where(item => item.IdPoint == pointId).Select(item => item.Name).FirstOrDefault();
+        }
+        // Получение локации точки по ее id
+        public static string GetLocationOfPoint(int pointId)
+        {
+            return cnt.db.Points.Where(item => item.IdPoint == pointId).Select(item => item.location).FirstOrDefault();
+        }
+        // Проверка на валидность название и локацию остановки
+        public static bool IsValidNameAndLocationOfPoint(string name, string location)
+        {
+            if (name != "" && location != "")
+                return true;
+            else
+                return false;
+        }
+        // Проверка на валидность информации о водителе
+        public static bool IsValidInfoAboutDriver(string idTransport, string name, string surname, string patronymic)
+        {
+            if (IsIdOnlyDigits(idTransport) && idTransport != "" && name != "" && surname != "" && patronymic != "")
+                return true;
+            else
+                return false;
+        }
+        public static bool IsIdOnlyDigits (string idTransport)
+        {
+            foreach (char c in idTransport)
+                if (!char.IsDigit(c))
+                    return false;
+            return true;
+        }
     }
 }

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

@@ -22,7 +22,7 @@ namespace Kusach
 
         private void AddPointButton_Click(object sender, RoutedEventArgs e)
         {
-            if (NameBox.Text == "" || LocationBox.Text == "")
+            if (!Functions.IsValidNameAndLocationOfPoint(NameBox.Text, LocationBox.Text))
                 MessageBox.Show("Поля не могут быть пустыми.");
             else
             {

+ 2 - 2
Kusach/Windows/PointEditWindow.xaml.cs

@@ -13,8 +13,8 @@ namespace Kusach.Windows
         {
             InitializeComponent();
             pointId = id;
-            NameBox.Text = cnt.db.Points.Where(item => item.IdPoint == pointId).Select(item => item.Name).FirstOrDefault();
-            LocationBox.Text = cnt.db.Points.Where(item => item.IdPoint == pointId).Select(item => item.location).FirstOrDefault();
+            NameBox.Text = Functions.GetNameOfPoint(pointId);
+            LocationBox.Text = Functions.GetLocationOfPoint(pointId);
         }
         private void BackButton_Click(object sender, RoutedEventArgs e)
         {

+ 45 - 9
UnitTests/UnitTest1.cs

@@ -19,13 +19,6 @@ namespace UnitTests
             Assert.IsTrue(Functions.IsValidEmail(email));
         }
         [TestMethod]
-        public void GetRouteName()
-        {
-            int routeId = 1;
-            string expected = "Маршрут #1";
-            Assert.AreEqual(Functions.GetRouteName(routeId), expected);
-        }
-        [TestMethod]
         public void PasswordEncryptTest()
         {
             string password = "lalka";
@@ -54,18 +47,61 @@ namespace UnitTests
             Assert.IsTrue(Functions.IsLoginAlreadyTaken("qq"));
         }
         [TestMethod]
-        public void GetNameOfTransportTest()
+        public void GetNameOfTransportUsingId()
         {
             int transportId = 1;
             string expected = "Avtobus";
             Assert.AreEqual(Functions.GetNameOfTransport(transportId), expected);
         }
         [TestMethod]
-        public void GetNumberPlateTest()
+        public void GetNumberPlateUsingId()
         {
             int transportId = 1;
             string expected = "AA333AA78";
             Assert.AreEqual(Functions.GetNumberPlate(transportId), expected);
         }
+        [TestMethod]
+        public void GetRouteNameUsingId()
+        {
+            int routeId = 1;
+            string expected = "Маршрут #1";
+            Assert.AreEqual(Functions.GetRouteName(routeId), expected);
+        }
+        [TestMethod]
+        public void GetNameOfPointUsingId()
+        {
+            int pointId = 1;
+            string expected = "Томская";
+            Assert.AreEqual(Functions.GetNameOfPoint(pointId), expected);
+        }
+        [TestMethod]
+        public void GetLocationOfPointUsingId()
+        {
+            int pointId = 1;
+            string expected = "Томская, 21";
+            Assert.AreEqual(Functions.GetLocationOfPoint(pointId), expected);
+        }
+        [TestMethod]
+        public void IsValidNameAndLocationOfPoint()
+        {
+            string Name = "Томская";
+            string Location = "Томская, 21";
+            Assert.IsTrue(Functions.IsValidNameAndLocationOfPoint(Name, Location));
+        }
+        [TestMethod]
+        public void IsValidInfoAboutDriver()
+        {
+            string IdTransport = "1";
+            string name = "Петр";
+            string surname = "Некрасов";
+            string patronymic = "Антонович";
+            Assert.IsTrue(Functions.IsValidInfoAboutDriver(IdTransport, name, surname, patronymic));
+        }
+        [TestMethod]
+        public void IsIdOnlyDigits()
+        {
+            string IdTransport = "123";
+            Assert.IsTrue(Functions.IsIdOnlyDigits(IdTransport));
+        }
     }
 }