Артем Гавриленко 3 tahun lalu
induk
melakukan
fec46ef55b

+ 1 - 1
Kusach/App.xaml

@@ -2,7 +2,7 @@
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:local="clr-namespace:Kusach"
-             StartupUri="MainWindow.xaml">
+             StartupUri="Windows\LogWindow.xaml">
     <Application.Resources>
          
     </Application.Resources>

+ 13 - 0
Kusach/Functions.cs

@@ -23,9 +23,22 @@ namespace Kusach
             else
                 return false;
         }
+        public static bool IsValidLogAndPass(string login, string password)
+        {
+            if (login == "" || password == "")
+                return false;
+            else
+                return true;
+        }
         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)))
+                return true;
+            return false;
+        }
     }
 }

+ 7 - 0
Kusach/Kusach.csproj

@@ -80,6 +80,9 @@
     <Compile Include="Pages\TransportListPage.xaml.cs">
       <DependentUpon>TransportListPage.xaml</DependentUpon>
     </Compile>
+    <Compile Include="TestWindow.xaml.cs">
+      <DependentUpon>TestWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Windows\AddDriverWindow.xaml.cs">
       <DependentUpon>AddDriverWindow.xaml</DependentUpon>
     </Compile>
@@ -179,6 +182,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="TestWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Windows\AddDriverWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 15 - 0
Kusach/TestWindow.xaml

@@ -0,0 +1,15 @@
+<Window x:Class="Kusach.TestWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Kusach"
+        mc:Ignorable="d"
+        Title="TestWindow" Height="450" Width="800">
+    <Grid>
+        <Button
+            Click="Button_Click">
+            
+        </Button>
+    </Grid>
+</Window>

+ 37 - 0
Kusach/TestWindow.xaml.cs

@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace Kusach
+{
+    /// <summary>
+    /// Логика взаимодействия для TestWindow.xaml
+    /// </summary>
+    public partial class TestWindow : Window
+    {
+        public TestWindow()
+        {
+            InitializeComponent();
+        }
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            int routeId = 1;
+            string expected = "Маршрут #1";
+            if (expected == Functions.GetRouteName(routeId))
+                MessageBox.Show($"true");
+            else
+                MessageBox.Show($"false");
+        }
+    }
+}

+ 8 - 15
Kusach/Windows/LogWindow.xaml.cs

@@ -19,23 +19,16 @@ namespace Kusach
         }
         private void LogButton_Click(object sender, RoutedEventArgs e)
         {
-            try 
+            if(!Functions.IsValidLogAndPass(logbox.Text, passbox.Password))
+                MessageBox.Show("Поля не могут быть пустыми.");
+            if (Functions.LoginCheck(logbox.Text, passbox.Password))
             {
-                if (logbox.Text == "" || passbox.Password == "")
-                    MessageBox.Show("Поля не могут быть пустыми.");
-                else if (cnt.db.Dispatcher.Select(item => item.Login + item.Password).Contains(logbox.Text + Encrypt.GetHash(passbox.Password)))
-                {
-                    MainWindow mw = new MainWindow();
-                    mw.Show();
-                    this.Close();
-                }
-                else
-                    MessageBox.Show("Неверный логин или пароль");
-            } catch (Exception ex)
-            {
-                MessageBox.Show($"Произошла ошибка. : {ex}");
+                MainWindow mw = new MainWindow();
+                mw.Show();
+                this.Close();
             }
-            
+            else
+                MessageBox.Show("Неверный логин или пароль");
         }
         private void RegButton_Click(object sender, RoutedEventArgs e)
         {

+ 0 - 1
Kusach/packages.config

@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
   <package id="EntityFramework" version="6.4.4" targetFramework="net472" />
-  <package id="EntityFramework.ru" version="6.2.0" targetFramework="net472" />
 </packages>

+ 15 - 0
UnitTests/App.config

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <configSections>
+    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+  </configSections>
+  <entityFramework>
+    <providers>
+      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+    </providers>
+  </entityFramework>
+  <connectionStrings>
+    <add name="EDMEntities" connectionString="metadata=res://*/EDM.csdl|res://*/EDM.ssdl|res://*/EDM.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(localdb)\MSSQLLocalDB;initial catalog=gr692_gav;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
+  </connectionStrings>
+</configuration>

+ 9 - 2
UnitTests/UnitTest1.cs

@@ -23,7 +23,14 @@ namespace UnitTests
         {
             int routeId = 1;
             string expected = "Маршрут #1";
-            Assert.AreEqual(Functions.GetRouteName(routeId),expected);
+            Assert.AreEqual(Functions.GetRouteName(routeId), expected);
+        }
+        [TestMethod]
+        public void Password()
+        {
+            string password = "lalka";
+            string expected = "55B6F08EFCE1438F38323E02C7C451FBD1E1AA12";
+            Assert.AreEqual(Encrypt.GetHash(password), expected);
         }
     }
-}
+}

+ 12 - 0
UnitTests/UnitTests.csproj

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
   <Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" />
   <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
   <PropertyGroup>
@@ -39,6 +40,12 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <ItemGroup>
+    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <HintPath>..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+    </Reference>
     <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
       <HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
     </Reference>
@@ -46,6 +53,7 @@
       <HintPath>..\packages\MSTest.TestFramework.2.1.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
     </Reference>
     <Reference Include="System" />
+    <Reference Include="System.ComponentModel.DataAnnotations" />
     <Reference Include="System.Core" />
   </ItemGroup>
   <ItemGroup>
@@ -53,6 +61,7 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
   <ItemGroup>
+    <None Include="App.config" />
     <None Include="packages.config" />
   </ItemGroup>
   <ItemGroup>
@@ -69,6 +78,9 @@
     </PropertyGroup>
     <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.props'))" />
     <Error Condition="!Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets'))" />
+    <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
+    <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
   </Target>
   <Import Project="..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.2.1.2\build\net45\MSTest.TestAdapter.targets')" />
+  <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
 </Project>

+ 1 - 0
UnitTests/packages.config

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
+  <package id="EntityFramework" version="6.4.4" targetFramework="net472" />
   <package id="MSTest.TestAdapter" version="2.1.2" targetFramework="net472" />
   <package id="MSTest.TestFramework" version="2.1.2" targetFramework="net472" />
 </packages>