Артем Гавриленко 3 anos atrás
pai
commit
cb90e2a67f

+ 7 - 0
Kusach/Kusach.csproj

@@ -70,6 +70,9 @@
     <Compile Include="AddDriverWindow.xaml.cs">
       <DependentUpon>AddDriverWindow.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Windows\AddPointToRouteWindow.xaml.cs">
+      <DependentUpon>AddPointToRouteWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="Windows\AddPointWindow.xaml.cs">
       <DependentUpon>AddPointWindow.xaml</DependentUpon>
     </Compile>
@@ -151,6 +154,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Windows\AddPointToRouteWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="Windows\AddPointWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 4 - 4
Kusach/Pages/RoutesListPage.xaml

@@ -5,8 +5,8 @@
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
       xmlns:local="clr-namespace:Kusach.Pages"
       mc:Ignorable="d" 
-      d:DesignHeight="450"
-      d:DesignWidth="800"
+      d:DesignHeight="419"
+      d:DesignWidth="692"
       Title="RoutesListPage">
     <Grid 
         Background="White" 
@@ -44,7 +44,7 @@
             AutoGenerateColumns="False" 
             VerticalAlignment="Top" 
             HorizontalAlignment="Left" 
-            CanUserAddRows="false">
+            CanUserAddRows="false" Width="642">
             <DataGrid.ItemContainerStyle>
                 <Style TargetType="DataGridRow">
                     <EventSetter 
@@ -61,7 +61,7 @@
                 <DataGridTextColumn 
                     Binding="{Binding Name}" 
                     Header="Название"
-                    Width="500"
+                    Width="540"
                     IsReadOnly="True"/>
             </DataGrid.Columns>
         </DataGrid>

+ 58 - 0
Kusach/Windows/AddPointToRouteWindow.xaml

@@ -0,0 +1,58 @@
+<Window x:Class="Kusach.Windows.AddPointToRouteWindow"
+        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="AddPointToRouteWindow" 
+        Height="300" 
+        Width="450"
+        WindowStyle="None"
+        WindowStartupLocation="CenterScreen">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="224*"/>
+            <RowDefinition Height="45*"/>
+        </Grid.RowDefinitions>
+        <DataGrid
+            Name="PointsListDataGrid" 
+            AutoGenerateColumns="False" 
+            VerticalAlignment="Stretch" 
+            HorizontalAlignment="Stretch"
+            CanUserAddRows="False"
+            Grid.Row="0">
+            <DataGrid.ItemContainerStyle>
+                <Style TargetType="DataGridRow">
+                    <EventSetter 
+                        Event="MouseDoubleClick" 
+                        Handler="PointsDataGridRow_MouseDoubleClick"/>
+                </Style>
+            </DataGrid.ItemContainerStyle>
+            <DataGrid.Columns>
+                <DataGridTextColumn 
+                    Binding="{Binding IdPoint}" 
+                    Header="Номер"  
+                    Width="50" 
+                    IsReadOnly="True"/>
+                <DataGridTextColumn 
+                    Binding="{Binding Name}" 
+                    Header="Название" 
+                    Width="200" 
+                    IsReadOnly="True"/>
+                <DataGridTextColumn 
+                    Binding="{Binding location}" 
+                    Header="Локация" 
+                    Width="200"
+                    IsReadOnly="True"/>
+            </DataGrid.Columns>
+        </DataGrid>
+        <Button 
+            Grid.Row="1"
+            Content="Отмена"
+            Width="90"
+            Height="35"
+            HorizontalAlignment="Center"
+            Click="BackButton_Click"/>
+    </Grid>
+</Window>

+ 39 - 0
Kusach/Windows/AddPointToRouteWindow.xaml.cs

@@ -0,0 +1,39 @@
+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>
+    /// Логика взаимодействия для AddPointToRouteWindow.xaml
+    /// </summary>
+    public partial class AddPointToRouteWindow : Window
+    {
+        int routeId;
+        public AddPointToRouteWindow(int id)
+        {
+            InitializeComponent();
+            routeId = id;
+            PointsListDataGrid.ItemsSource = cnt.db.Points.ToList();
+        }
+        private void PointsDataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+        {
+            MessageBox.Show("cell: " + ((Points)PointsListDataGrid.SelectedItem).IdPoint);
+        }
+
+        private void BackButton_Click(object sender, RoutedEventArgs e)
+        {
+            this.Close();
+        }
+    }
+}

+ 10 - 9
Kusach/Windows/RouteEditWindow.xaml.cs

@@ -19,14 +19,14 @@ namespace Kusach.Windows
     /// </summary>
     public partial class RouteEditWindow : Window
     {
-        int RouteId;
+        int routeId;
         public RouteEditWindow(int id)
         {
             InitializeComponent();
-            RouteId = id;
-            RouteNameBox.Text = cnt.db.Routes.Where(item => item.IdRoute == RouteId).Select(item => item.Name).FirstOrDefault();
-            PointsListDataGrid.ItemsSource = cnt.db.PointsList.Where(item => item.IdRoute == RouteId).ToList();
-            DriversListDataGrid.ItemsSource = cnt.db.DriversList.Where(item => item.IdRoute == RouteId).ToList();
+            routeId = id;
+            RouteNameBox.Text = cnt.db.Routes.Where(item => item.IdRoute == routeId).Select(item => item.Name).FirstOrDefault();
+            PointsListDataGrid.ItemsSource = cnt.db.PointsList.Where(item => item.IdRoute == routeId).ToList();
+            DriversListDataGrid.ItemsSource = cnt.db.DriversList.Where(item => item.IdRoute == routeId).ToList();
 
         }
         private void PointsDataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e)
@@ -39,14 +39,14 @@ namespace Kusach.Windows
         }
         private void AddPoint_Click(object sender, RoutedEventArgs e)
         {
-            AddPointWindow apw = new AddPointWindow(RouteId);
+            AddPointWindow apw = new AddPointWindow(routeId);
             apw.ShowDialog();
         }
         private void RemovePoint_Click(object sender, RoutedEventArgs e)
         {
             try
             {
-                cnt.db.PointsList.Remove(cnt.db.PointsList.Where(item => item.IdRoute == RouteId && item.IdPoint == ((PointsList)PointsListDataGrid.SelectedItem).IdPoint).FirstOrDefault());
+                cnt.db.PointsList.Remove(cnt.db.PointsList.Where(item => item.IdRoute == routeId && item.IdPoint == ((PointsList)PointsListDataGrid.SelectedItem).IdPoint).FirstOrDefault());
                 cnt.db.SaveChanges();
             }
             catch
@@ -62,12 +62,13 @@ namespace Kusach.Windows
 
         private void AddFromListPoint_Click(object sender, RoutedEventArgs e)
         {
-
+            AddPointToRouteWindow aptrw = new AddPointToRouteWindow(routeId); 
+            aptrw.ShowDialog();
         }
 
         private void UpdatePoints_Click(object sender, RoutedEventArgs e)
         {
-            PointsListDataGrid.ItemsSource = cnt.db.PointsList.Where(item => item.IdRoute == RouteId).ToList();
+            PointsListDataGrid.ItemsSource = cnt.db.PointsList.Where(item => item.IdRoute == routeId).ToList();
         }
     }
 }

+ 0 - 7
SQLQuery1.sql

@@ -1,7 +0,0 @@
-select * from Routes
-select * from PointsList
-select * from Points
-
-select Routes.Name, Points.Name, Points.location from Routes, PointsList, Points
-where Routes.IdRoute = PointsList.IdRoute and PointsList.IdPoint = Points.IdPoint
-order by Routes.Name