Oleg Kireev пре 3 година
родитељ
комит
d1480f8e71

+ 2 - 1
Hotel_Course_Project/AdminPage.xaml

@@ -145,7 +145,7 @@
                     </StackPanel>
                     <DataGrid Grid.Row="1" x:Name="PayList" AutoGenerateColumns="False" ColumnWidth="*" IsReadOnly="True">
                         <DataGrid.Columns>
-                            <DataGridTextColumn Header="Дата" Binding="{Binding Pay.PayDate}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Дата" Binding="{Binding Pay.PayDate,StringFormat=\{0:dd.MM.yyyy\}}"></DataGridTextColumn>
                             <DataGridTextColumn Header="Номер" Binding="{Binding Room.NumRoom}"></DataGridTextColumn>
                             <DataGridTemplateColumn Header="Хостес">
                                 <DataGridTemplateColumn.CellTemplate>
@@ -176,6 +176,7 @@
                                 </DataGridTemplateColumn.CellTemplate>
                             </DataGridTemplateColumn>
                             <DataGridTextColumn Header="Стоимость" Binding="{Binding Pay.EndSum}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Вид оплаты" Binding="{Binding Pay.PayType.Name}"></DataGridTextColumn>
                         </DataGrid.Columns>
                     </DataGrid>
                 </Grid>

+ 3 - 1
Hotel_Course_Project/AdminPage.xaml.cs

@@ -184,6 +184,7 @@ namespace Hotel_Course_Project
 
         #endregion
 
+        #region обработчики кнопок удаления
         private void RoleDeleteBtn_Click(object sender, RoutedEventArgs e)
         {
             StaffRole role = (sender as Button).DataContext as StaffRole;
@@ -220,7 +221,7 @@ namespace Hotel_Course_Project
             var ishave = DataBase.db.Pay.Where(item => item.Id_PayType == type.Id).ToList();
             if (ishave.Count > 0)
             {
-                MessageBox.Show("Удаление невозможно, т.к. эта комната учавствует в заказах");
+                MessageBox.Show("Удаление невозможно, т.к. эта этот тип платежей учавствует в платежах");
             }
             else
             {
@@ -229,6 +230,7 @@ namespace Hotel_Course_Project
                 Page_Loaded(sender, e);
             }
         }
+        #endregion
 
     }
 }

+ 106 - 55
Hotel_Course_Project/HostelsPage.xaml

@@ -8,62 +8,113 @@
       d:DesignHeight="450" d:DesignWidth="800"
       Title="Окно Заказов" Loaded="Page_Loaded">
 
-        <Grid>        
-            <Grid.RowDefinitions>
-                <RowDefinition Height="40"></RowDefinition>
-                <RowDefinition></RowDefinition>
-            </Grid.RowDefinitions>
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="100"></ColumnDefinition>
-                <ColumnDefinition></ColumnDefinition>
-            </Grid.ColumnDefinitions>
+    <Grid>
+        <TabControl>
+            <TabItem Header="Заказы">
+                <Grid>
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="40"></RowDefinition>
+                        <RowDefinition></RowDefinition>
+                    </Grid.RowDefinitions>
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="100"></ColumnDefinition>
+                        <ColumnDefinition></ColumnDefinition>
+                    </Grid.ColumnDefinitions>
 
-            <Button x:Name="AddOrderBtn" Click="AddOrderBtn_Click">Добавить</Button>
+                    <Button x:Name="AddOrderBtn" Click="AddOrderBtn_Click">Добавить</Button>
 
-            <StackPanel Grid.Column="2" Orientation="Horizontal">
-                <TextBlock VerticalAlignment="Center">Поиск</TextBlock>
-            <TextBox  Name="OrderSeacrhTB" TextChanged="OrderSeacrhTB_TextChanged" VerticalAlignment="Center" Width="100"></TextBox>
-            <Button Name="OrderSrchBtn" Click="OrderSrchBtn_Click">Поиск</Button>
-            </StackPanel>
-        <DataGrid Grid.Row="1" Grid.ColumnSpan="2" x:Name="OrderList" AutoGenerateColumns="False" ColumnWidth="*" IsReadOnly="True">
-            <DataGrid.Columns>
-                <DataGridTemplateColumn Header="Период сдачи">
-                    <DataGridTemplateColumn.CellTemplate>
-                        <DataTemplate>
-                            <StackPanel Orientation="Horizontal">
-                                <TextBlock Text="{Binding DateStart ,StringFormat=\{0:dd.MM.yy\}}"></TextBlock>
-                                <TextBlock Text=" - "></TextBlock>
-                                <TextBlock Text="{Binding DateEnd , StringFormat=\{0:dd.MM.yy\}}"></TextBlock>
-                            </StackPanel>
-                        </DataTemplate>
-                    </DataGridTemplateColumn.CellTemplate>
-                </DataGridTemplateColumn>
-                <DataGridTextColumn Header="Номер" Binding="{Binding Room.NumRoom}"></DataGridTextColumn>
-                <DataGridTemplateColumn Header="Клиент">
-                    <DataGridTemplateColumn.CellTemplate>
-                        <DataTemplate>
-                            <StackPanel Orientation="Horizontal">
-                                <TextBlock Text="{Binding Client.LName}"></TextBlock>
-                                <TextBlock Text=" "></TextBlock>
-                                <TextBlock Text="{Binding Client.FName[0]}"></TextBlock>
-                                <TextBlock Text="."></TextBlock>
-                                <TextBlock Text="{Binding Client.MName[0]}"></TextBlock>
-                                <TextBlock Text="."></TextBlock>
-                            </StackPanel>
-                        </DataTemplate>
-                    </DataGridTemplateColumn.CellTemplate>
-                </DataGridTemplateColumn>
-                <DataGridTextColumn Header="Дата оплаты" Binding="{Binding Pay.PayDate}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Статус заказа" Binding="{Binding OrderStatus.Name}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Стоимость" Binding="{Binding Pay.EndSum}"></DataGridTextColumn>
-                <DataGridTemplateColumn>
-                    <DataGridTemplateColumn.CellTemplate>
-                        <DataTemplate>
-                            <Button>Выбрать</Button>
-                        </DataTemplate>
-                    </DataGridTemplateColumn.CellTemplate>
-                </DataGridTemplateColumn>
-            </DataGrid.Columns>
-        </DataGrid>
+                    <StackPanel Grid.Column="2" Orientation="Horizontal">
+                        <TextBlock VerticalAlignment="Center">Поиск</TextBlock>
+                        <TextBox  Name="OrderSeacrhTB" TextChanged="OrderSeacrhTB_TextChanged" VerticalAlignment="Center" Width="100"></TextBox>
+                        <Button Name="OrderSrchBtn" Click="OrderSrchBtn_Click">Поиск</Button>
+                    </StackPanel>
+                    <DataGrid Grid.Row="1" Grid.ColumnSpan="2" x:Name="OrderList" AutoGenerateColumns="False" ColumnWidth="*" IsReadOnly="True">
+                        <DataGrid.Columns>
+                            <DataGridTemplateColumn Header="Период сдачи">
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock Text="{Binding DateStart ,StringFormat=\{0:dd.MM.yy\}}"></TextBlock>
+                                            <TextBlock Text=" - "></TextBlock>
+                                            <TextBlock Text="{Binding DateEnd , StringFormat=\{0:dd.MM.yy\}}"></TextBlock>
+                                        </StackPanel>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                            <DataGridTextColumn Header="Номер" Binding="{Binding Room.NumRoom}"></DataGridTextColumn>
+                            <DataGridTemplateColumn Header="Клиент">
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <StackPanel Orientation="Horizontal">
+                                            <TextBlock Text="{Binding Client.LName}"></TextBlock>
+                                            <TextBlock Text=" "></TextBlock>
+                                            <TextBlock Text="{Binding Client.FName[0]}"></TextBlock>
+                                            <TextBlock Text="."></TextBlock>
+                                            <TextBlock Text="{Binding Client.MName[0]}"></TextBlock>
+                                            <TextBlock Text="."></TextBlock>
+                                        </StackPanel>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                            <DataGridTextColumn Header="Дата оплаты" Binding="{Binding Pay.PayDate}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Статус заказа" Binding="{Binding OrderStatus.Name}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Стоимость" Binding="{Binding Pay.EndSum}"></DataGridTextColumn>
+                            <DataGridTemplateColumn>
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <Button x:Name="SelectOrderBtn" Click="SelectOrderBtn_Click">Выбрать</Button>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                        </DataGrid.Columns>
+                    </DataGrid>
+                </Grid>
+            </TabItem>
+            <TabItem Header="Клиенты">
+                <Grid>
+                    <Grid.RowDefinitions>
+                        <RowDefinition Height="40"></RowDefinition>
+                        <RowDefinition></RowDefinition>
+                    </Grid.RowDefinitions>
+                    <Grid.ColumnDefinitions>
+                        <ColumnDefinition Width="100"></ColumnDefinition>
+                        <ColumnDefinition></ColumnDefinition>
+                        <ColumnDefinition></ColumnDefinition>
+                    </Grid.ColumnDefinitions>
+
+                    <Button x:Name="AddClientfBtn" Click="AddClientBtn_Click">Добавить</Button>
+
+                    <StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Center">
+                        <TextBlock VerticalAlignment="Center">Сортировка</TextBlock>
+                        <ComboBox VerticalAlignment="Center" Name="SortClientCB" SelectionChanged="SortClientCB_SelectionChanged">
+                            <ComboBoxItem IsSelected="True" Name="activeC">Активные клиенты</ComboBoxItem>
+                            <ComboBoxItem Name="nonActiveC">Удалённые клиенты</ComboBoxItem>
+                        </ComboBox>
+                    </StackPanel>
+
+                    <StackPanel Grid.Column="2" Orientation="Horizontal">
+                        <TextBlock VerticalAlignment="Center">Поиск</TextBlock>
+                        <TextBox  Name="ClientSeacrhTB" TextChanged="ClientSeacrhTB_TextChanged" VerticalAlignment="Center" Width="100"></TextBox>
+                        <Button Name="ClientSrchBtn" Click="ClientSrchBtn_Click">Поиск</Button>
+                    </StackPanel>
+
+
+                    <DataGrid x:Name="ClientList" Grid.Row="1" Grid.ColumnSpan="3" AutoGenerateColumns="False" ColumnWidth="*" IsReadOnly="True" >
+                        <DataGrid.Columns>
+                            <DataGridTextColumn Header="Фамилия" Binding="{Binding LName}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Имя" Binding="{Binding FName}"></DataGridTextColumn>
+                            <DataGridTextColumn Header="Отчество" Binding="{Binding MName}"></DataGridTextColumn>
+                            <DataGridTemplateColumn>
+                                <DataGridTemplateColumn.CellTemplate>
+                                    <DataTemplate>
+                                        <Button x:Name="ClientSelectBtn" Click="ClientSelectBtn_Click">Выбрать</Button>
+                                    </DataTemplate>
+                                </DataGridTemplateColumn.CellTemplate>
+                            </DataGridTemplateColumn>
+                        </DataGrid.Columns>
+                    </DataGrid>
+                </Grid>
+            </TabItem>
+        </TabControl>
     </Grid>
 </Page>

+ 31 - 4
Hotel_Course_Project/HostelsPage.xaml.cs

@@ -9,19 +9,26 @@ namespace Hotel_Course_Project
     /// </summary>
     public partial class HostelsPage : Page
     {
+        public Staff _hostels;
         public HostelsPage(Staff hostels)
         {
             InitializeComponent();
+            _hostels = hostels;
+
+        }
+        private void Page_Loaded(object sender, RoutedEventArgs e)
+        {
+            OrderList.ItemsSource = DataBase.db.Order.ToList();
         }
 
         private void AddOrderBtn_Click(object sender, RoutedEventArgs e)
         {
-
+            PChanger.MainFrame.Navigate(new OrderChangeOrAddPage(null, _hostels));
         }
-
-        private void Page_Loaded(object sender, RoutedEventArgs e)
+        private void SelectOrderBtn_Click(object sender, RoutedEventArgs e)
         {
-            OrderList.ItemsSource = DataBase.db.Order.ToList();
+            Order order = (sender as Button).DataContext as Order;
+            PChanger.MainFrame.Navigate(new OrderChangeOrAddPage(order, _hostels));
         }
 
         private void OrderSeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
@@ -33,5 +40,25 @@ namespace Hotel_Course_Project
         {
 
         }
+
+        private void AddClientBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void SortClientCB_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+
+        }
+
+        private void ClientSeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
+        {
+
+        }
+
+        private void ClientSelectBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
     }
 }

+ 10 - 0
Hotel_Course_Project/Hotel_Course_Project.csproj

@@ -85,6 +85,12 @@
     <Compile Include="Order.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
+    <Compile Include="OrderChangeOrAddPage.xaml.cs">
+      <DependentUpon>OrderChangeOrAddPage.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="OrderStatus.cs">
+      <DependentUpon>ModelDB.tt</DependentUpon>
+    </Compile>
     <Compile Include="Pay.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
@@ -157,6 +163,10 @@
       <DependentUpon>MainWindow.xaml</DependentUpon>
       <SubType>Code</SubType>
     </Compile>
+    <Page Include="OrderChangeOrAddPage.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="PayTypeAddWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 1 - 0
Hotel_Course_Project/ModelDB.Context.cs

@@ -35,5 +35,6 @@ namespace Hotel_Course_Project
         public virtual DbSet<Pay> Pay { get; set; }
         public virtual DbSet<PayType> PayType { get; set; }
         public virtual DbSet<PersStasus> PersStasus { get; set; }
+        public virtual DbSet<OrderStatus> OrderStatus { get; set; }
     }
 }

+ 2 - 0
Hotel_Course_Project/Order.cs

@@ -21,10 +21,12 @@ namespace Hotel_Course_Project
         public Nullable<System.DateTime> DateStart { get; set; }
         public string DateEnd { get; set; }
         public Nullable<int> Id_Pay { get; set; }
+        public Nullable<int> Id_OrderStatus { get; set; }
     
         public virtual Client Client { get; set; }
         public virtual Room Room { get; set; }
         public virtual Staff Staff { get; set; }
         public virtual Pay Pay { get; set; }
+        public virtual OrderStatus OrderStatus { get; set; }
     }
 }

+ 20 - 0
Hotel_Course_Project/OrderChangeOrAddPage.xaml

@@ -0,0 +1,20 @@
+<Page x:Class="Hotel_Course_Project.OrderChangeOrAddPage"
+      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+      xmlns:local="clr-namespace:Hotel_Course_Project"
+      mc:Ignorable="d" 
+      d:DesignHeight="450" d:DesignWidth="800"
+      Title="OrderChangeOrAddPage">
+
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition></ColumnDefinition>
+            <ColumnDefinition></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition> </RowDefinition>
+        </Grid.RowDefinitions>
+    </Grid>
+</Page>

+ 28 - 0
Hotel_Course_Project/OrderChangeOrAddPage.xaml.cs

@@ -0,0 +1,28 @@
+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.Navigation;
+using System.Windows.Shapes;
+
+namespace Hotel_Course_Project
+{
+    /// <summary>
+    /// Логика взаимодействия для OrderChangeOrAddPage.xaml
+    /// </summary>
+    public partial class OrderChangeOrAddPage : Page
+    {
+        public OrderChangeOrAddPage(Order order, Staff hostel)
+        {
+            InitializeComponent();
+        }
+    }
+}

+ 29 - 0
Hotel_Course_Project/OrderStatus.cs

@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан по шаблону.
+//
+//     Изменения, вносимые в этот файл вручную, могут привести к непредвиденной работе приложения.
+//     Изменения, вносимые в этот файл вручную, будут перезаписаны при повторном создании кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Hotel_Course_Project
+{
+    using System;
+    using System.Collections.Generic;
+    
+    public partial class OrderStatus
+    {
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+        public OrderStatus()
+        {
+            this.Order = new HashSet<Order>();
+        }
+    
+        public int Id { get; set; }
+        public string Name { get; set; }
+    
+        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+        public virtual ICollection<Order> Order { get; set; }
+    }
+}