Артем Гавриленко преди 3 години
родител
ревизия
6632710e26

+ 0 - 40
Kusach/AddTransportWindow.xaml.cs

@@ -1,40 +0,0 @@
-using System.Linq;
-using System.Windows;
-
-namespace Kusach
-{
-    /// <summary>
-    /// Логика взаимодействия для AddTransportWindow.xaml
-    /// </summary>
-    public partial class AddTransportWindow : Window
-    {
-        public AddTransportWindow()
-        {
-            InitializeComponent();
-        }
-
-        private void AddTransportButton_Click(object sender, RoutedEventArgs e)
-        {
-            if (NameOfTransportBox.Text == "" || NumberPlateBox.Text == "")
-                MessageBox.Show("Поля не могут быть пустыми.");
-            else
-            {
-                Transport newTransport = new Transport()
-                {
-                    IdTransport = cnt.db.Transport.Select(p => p.IdTransport).DefaultIfEmpty(0).Max() + 1,
-                    NameOfTransport = NameOfTransportBox.Text,
-                    NumberPlate = NumberPlateBox.Text
-                };
-                cnt.db.Transport.Add(newTransport);
-                cnt.db.SaveChanges();
-                MessageBox.Show("Транспортное средство успешно создано.");
-                this.Close();
-            }
-        }
-
-        private void BackButton_Click(object sender, RoutedEventArgs e)
-        {
-            this.Close();
-        }
-    }
-}

+ 9 - 2
Kusach/Kusach.csproj

@@ -130,7 +130,7 @@
     <Compile Include="Windows\AddRouteWindow.xaml.cs">
       <DependentUpon>AddRouteWindow.xaml</DependentUpon>
     </Compile>
-    <Compile Include="AddTransportWindow.xaml.cs">
+    <Compile Include="Windows\AddTransportWindow.xaml.cs">
       <DependentUpon>AddTransportWindow.xaml</DependentUpon>
     </Compile>
     <Compile Include="AddUserWindow.xaml.cs">
@@ -165,6 +165,9 @@
     <Compile Include="Windows\RouteEditWindow.xaml.cs">
       <DependentUpon>RouteEditWindow.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Windows\TransportEditWindow.xaml.cs">
+      <DependentUpon>TransportEditWindow.xaml</DependentUpon>
+    </Compile>
     <Page Include="Pages\DriversListPage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -193,7 +196,7 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="AddTransportWindow.xaml">
+    <Page Include="Windows\AddTransportWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
@@ -241,6 +244,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Windows\TransportEditWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Properties\AssemblyInfo.cs">

+ 1 - 1
Kusach/MainWindow.xaml.cs

@@ -34,7 +34,7 @@ namespace Kusach
         }
         private void VehButton_Click(object sender, RoutedEventArgs e)
         {
-            MainFrame.Content = new TestPGPage();
+            MainFrame.Content = new Pages.TransportListPage();
         }
 
         private void UsersButton_Click(object sender, RoutedEventArgs e)

+ 3 - 3
Kusach/Pages/TransportListPage.xaml

@@ -28,15 +28,15 @@
             <Button
                 Width="120"
                 Content="Создать"
-                Click="AddRouteButton_Click"/>
+                Click="AddTransportButton_Click"/>
             <Button
                 Width="120"
                 Content="Удалить"
-                Click="DeleteRouteButton_Click"/>
+                Click="DeleteTransportButton_Click"/>
             <Button
                 Width="120"
                 Content="Обновить"
-                Click="UpdateRoutesButton_Click"/>
+                Click="UpdateTransportButton_Click"/>
         </StackPanel>
         <DataGrid
             Name="TransportList" 

+ 6 - 6
Kusach/Pages/TransportListPage.xaml.cs

@@ -17,8 +17,8 @@ namespace Kusach.Pages
         }
         private void DataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e)
         {
-            Windows.DriverEditWindow dew = new Windows.DriverEditWindow(((Transport)TransportList.SelectedItem).IdDriver);
-            dew.Show();
+            Windows.TransportEditWindow tew = new Windows.TransportEditWindow(((Transport)TransportList.SelectedItem).IdTransport);
+            tew.Show();
         }
 
         #region Поиск
@@ -35,15 +35,15 @@ namespace Kusach.Pages
         private void SearchTextChanged(object sender, TextChangedEventArgs e)
         {
             if (SearchBox.Text != "" && SearchBox.Text != "Поиск...")
-                TransportList.ItemsSource = cnt.db.Transport.Where(item => (item.IdDriver + " " + item.Transport.NameOfTransport + " " + item.Surname + " " + item.Name + " " + item.Patronymic).Contains(SearchBox.Text)).ToList();
+                TransportList.ItemsSource = cnt.db.Transport.Where(item => (item.IdTransport + " " + item.NameOfTransport + " " + item.NumberPlate).Contains(SearchBox.Text)).ToList();
             else
                 cnt.db.Transport.ToList();
         }
         #endregion
-        private void AddDriverButton_Click(object sender, RoutedEventArgs e)
+        private void AddTransportButton_Click(object sender, RoutedEventArgs e)
         {
-            AddDriverWindow adw = new AddDriverWindow();
-            adw.Show();
+            AddTransportWindow atw = new AddTransportWindow();
+            atw.Show();
         }
 
         private void DeleteTransportButton_Click(object sender, RoutedEventArgs e)

+ 4 - 0
Kusach/Windows/AddDriverToRouteWindow.xaml

@@ -64,5 +64,9 @@
             Height="35"
             HorizontalAlignment="Center"
             Click="BackButton_Click"/>
+        <Border 
+            Grid.RowSpan="2"
+            BorderBrush="Black" 
+            BorderThickness="2"/>
     </Grid>
 </Window>

+ 4 - 0
Kusach/Windows/AddPointToRouteWindow.xaml

@@ -54,5 +54,9 @@
             Height="35"
             HorizontalAlignment="Center"
             Click="BackButton_Click"/>
+        <Border 
+            Grid.RowSpan="2"
+            BorderBrush="Black" 
+            BorderThickness="2"/>
     </Grid>
 </Window>

+ 5 - 1
Kusach/AddTransportWindow.xaml

@@ -56,6 +56,10 @@
             VerticalAlignment="Top" 
             Height="40" 
             Width="120" 
-            Click="BackButton_Click"/>
+            Click="BackButton_Click"
+            IsDefault="True"/>
+        <Border 
+            BorderBrush="Black" 
+            BorderThickness="2"/>
     </Grid>
 </Window>

+ 48 - 0
Kusach/Windows/AddTransportWindow.xaml.cs

@@ -0,0 +1,48 @@
+using System.Linq;
+using System.Windows;
+
+namespace Kusach
+{
+    /// <summary>
+    /// Логика взаимодействия для AddTransportWindow.xaml
+    /// </summary>
+    public partial class AddTransportWindow : Window
+    {
+        public AddTransportWindow()
+        {
+            InitializeComponent();
+        }
+
+        private void AddTransportButton_Click(object sender, RoutedEventArgs e)
+        {
+            if (NameOfTransportBox.Text == "" || NumberPlateBox.Text == "")
+                MessageBox.Show("Поля не могут быть пустыми.");
+            else
+            {
+                try
+                {
+                    Transport newTransport = new Transport()
+                    {
+                        IdTransport = cnt.db.Transport.Select(p => p.IdTransport).DefaultIfEmpty(0).Max() + 1,
+                        NameOfTransport = NameOfTransportBox.Text,
+                        NumberPlate = NumberPlateBox.Text
+                    };
+                    cnt.db.Transport.Add(newTransport);
+                    cnt.db.SaveChanges();
+                    MessageBox.Show("Транспортное средство успешно создано.");
+                    this.Close();
+                }
+                catch
+                {
+                    MessageBox.Show("Ошибка создания транспортного средства.");
+                    this.Close();
+                }
+            }
+        }
+
+        private void BackButton_Click(object sender, RoutedEventArgs e)
+        {
+            this.Close();
+        }
+    }
+}

+ 64 - 0
Kusach/Windows/TransportEditWindow.xaml

@@ -0,0 +1,64 @@
+<Window x:Class="Kusach.Windows.TransportEditWindow"
+        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.Windows"
+        mc:Ignorable="d"
+        Title="TransportEditWindow"
+        Height="250" 
+        Width="300"
+        ResizeMode="NoResize"
+        WindowStyle="None"
+        WindowStartupLocation="CenterScreen">
+    <Grid>
+        <StackPanel
+            Margin="0,10,0,0"
+            HorizontalAlignment="Center"
+            VerticalAlignment="Top">
+            <Label 
+            Content="Название ТС" 
+            HorizontalAlignment="Left" 
+            VerticalAlignment="Top" 
+            Height="30" 
+            Width="190"/>
+            <TextBox 
+            x:Name="NameOfTransportBox"
+            HorizontalAlignment="Left" 
+            VerticalAlignment="Top" 
+            Height="30" 
+            Width="190"/>
+            <Label 
+            Content="Номерной знак" 
+            HorizontalAlignment="Left" 
+            VerticalAlignment="Top" 
+            Height="30" 
+            Width="190"/>
+            <TextBox 
+            x:Name="NumberPlateBox"
+            HorizontalAlignment="Left" 
+            VerticalAlignment="Top" 
+            Height="30" 
+            Width="190"/>
+        </StackPanel>
+        <Button 
+            Content="Сохранить" 
+            HorizontalAlignment="Left"
+            Margin="170,200,0,0" 
+            VerticalAlignment="Top" 
+            Height="40" 
+            Width="120" 
+            Click="SaveTransportButton_Click"/>
+        <Button 
+            Content="Отмена"
+            HorizontalAlignment="Left" 
+            Margin="10,200,0,0" 
+            VerticalAlignment="Top" 
+            Height="40" 
+            Width="120" 
+            Click="BackButton_Click"/>
+        <Border 
+            BorderBrush="Black" 
+            BorderThickness="2"/>
+    </Grid>
+</Window>

+ 43 - 0
Kusach/Windows/TransportEditWindow.xaml.cs

@@ -0,0 +1,43 @@
+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.Windows
+{
+    /// <summary>
+    /// Логика взаимодействия для TransportEditWindow.xaml
+    /// </summary>
+    public partial class TransportEditWindow : Window
+    {
+        int transportId;
+        public TransportEditWindow(int id)
+        {
+            InitializeComponent();
+            transportId = id;
+            NameOfTransportBox.Text = cnt.db.Transport.Where(item => item.IdTransport == transportId).Select(item => item.NameOfTransport).FirstOrDefault();
+            NumberPlateBox.Text = cnt.db.Transport.Where(item => item.IdTransport == transportId).Select(item => item.NumberPlate).FirstOrDefault();
+        }
+        private void BackButton_Click(object sender, RoutedEventArgs e)
+        {
+            this.Close();
+        }
+        private void SaveTransportButton_Click(object sender, RoutedEventArgs e)
+        {
+            Transport transport = cnt.db.Transport.Where(item => item.IdTransport == transportId).FirstOrDefault();
+            transport.NameOfTransport = NameOfTransportBox.Text;
+            transport.NumberPlate = NumberPlateBox.Text;
+            cnt.db.SaveChanges();
+            this.Close();
+        }
+    }
+}