Bläddra i källkod

Финишная прямая по проге(начал делать хреново)

Oleg Kireev 3 år sedan
förälder
incheckning
4ebd2d0357

+ 43 - 0
Hotel_Course_Project/ClientAddOnOrderWindow.xaml

@@ -0,0 +1,43 @@
+<Window x:Class="Hotel_Course_Project.ClientAddOnOrderWindow"
+        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:Hotel_Course_Project"
+        mc:Ignorable="d"
+        Title="Выбор клиента" Height="300" Width="500" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="40"></RowDefinition>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="100"></ColumnDefinition>
+            <ColumnDefinition></ColumnDefinition>
+            <ColumnDefinition></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+
+        <Button Name="BackBtn" Click="BackBtn_Click">Назад</Button>
+        <StackPanel Grid.Column="1" 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>
+</Window>

+ 54 - 0
Hotel_Course_Project/ClientAddOnOrderWindow.xaml.cs

@@ -0,0 +1,54 @@
+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 Hotel_Course_Project
+{
+    /// <summary>
+    /// Логика взаимодействия для ClientAddOnOrderWindow.xaml
+    /// </summary>
+    public partial class ClientAddOnOrderWindow : Window
+    {
+        public ClientAddOnOrderWindow()
+        {
+            InitializeComponent();
+            ClientList.ItemsSource = DataBase.db.Client.Where(item => item.Id_PersStatus == 1).ToList();
+        }
+
+        private void ClientSeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
+        {
+            if (ClientSeacrhTB.Text == "")
+            {
+                ClientList.ItemsSource = DataBase.db.Client.Where(item => item.Id_PersStatus == 1).ToList();
+            }
+        }
+
+        private void ClientSrchBtn_Click(object sender, RoutedEventArgs e)
+        {
+            var seacrhed = DataBase.db.Client.Where(item => (item.LName + " " + item.FName + " " + item.MName).Contains(ClientSeacrhTB.Text)).ToList();
+            ClientList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 1).ToList();
+        }
+
+        private void ClientSelectBtn_Click(object sender, RoutedEventArgs e)
+        {
+            Client client = (sender as Button).DataContext as Client;
+            Helper.SelectedClientOnOrder = client;
+            DialogResult = true;
+        }
+
+        private void BackBtn_Click(object sender, RoutedEventArgs e)
+        {
+            DialogResult = false;
+        }
+    }
+}

+ 14 - 0
Hotel_Course_Project/Helper.cs

@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Hotel_Course_Project
+{
+    internal class Helper
+    {
+        public static Client SelectedClientOnOrder;
+        public static Room SelectedRoomOnOrder;
+    }
+}

+ 5 - 0
Hotel_Course_Project/HostelsPage.xaml.cs

@@ -60,5 +60,10 @@ namespace Hotel_Course_Project
         {
 
         }
+
+        private void ClientSrchBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
     }
 }

+ 22 - 0
Hotel_Course_Project/Hotel_Course_Project.csproj

@@ -70,10 +70,14 @@
     <Compile Include="Client.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
+    <Compile Include="ClientAddOnOrderWindow.xaml.cs">
+      <DependentUpon>ClientAddOnOrderWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="ClientChangeOrAddPage.xaml.cs">
       <DependentUpon>ClientChangeOrAddPage.xaml</DependentUpon>
     </Compile>
     <Compile Include="DataBase.cs" />
+    <Compile Include="Helper.cs" />
     <Compile Include="HostelsPage.xaml.cs">
       <DependentUpon>HostelsPage.xaml</DependentUpon>
     </Compile>
@@ -94,6 +98,9 @@
     <Compile Include="Pay.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
+    <Compile Include="PayAddOnOrderWindow.xaml.cs">
+      <DependentUpon>PayAddOnOrderWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="PayType.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
@@ -110,6 +117,9 @@
     <Compile Include="Room.cs">
       <DependentUpon>ModelDB.tt</DependentUpon>
     </Compile>
+    <Compile Include="RoomAddOnOrderWindow.xaml.cs">
+      <DependentUpon>RoomAddOnOrderWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="RoomAddOrChangePage.xaml.cs">
       <DependentUpon>RoomAddOrChangePage.xaml</DependentUpon>
     </Compile>
@@ -140,6 +150,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="ClientAddOnOrderWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="ClientChangeOrAddPage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -167,6 +181,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="PayAddOnOrderWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="PayTypeAddWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -175,6 +193,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="RoomAddOnOrderWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="RoomAddOrChangePage.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>

+ 1 - 1
Hotel_Course_Project/ModelDB.Designer.cs

@@ -1,4 +1,4 @@
-// Создание кода T4 для модели "C:\Users\gr692_kov\Source\Repos\CourseProject\Hotel_Course_Project\ModelDB.edmx" включено. 
+// Создание кода T4 для модели "C:\Users\gr692_kov\source\repos\CourseProject\Hotel_Course_Project\ModelDB.edmx" включено. 
 // Чтобы включить формирование кода прежних версий, измените значение свойства "Стратегия создания кода" конструктора
 // на "Legacy ObjectContext". Это свойство доступно в окне "Свойства", если модель
 // открыта в конструкторе.

+ 1 - 1
Hotel_Course_Project/ModelDB.edmx.diagram

@@ -4,7 +4,7 @@
   <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
     <!-- Diagram content (shape and connector positions) -->
     <edmx:Diagrams>
-      <Diagram DiagramId="7b379ebd51334675b3099ff3e8b1d4e0" Name="Diagram1" ZoomLevel="94">
+      <Diagram DiagramId="7b379ebd51334675b3099ff3e8b1d4e0" Name="Diagram1" ZoomLevel="124">
         <EntityTypeShape EntityType="gr692_kovModel.Client" Width="1.5" PointX="3" PointY="5.625" IsExpanded="true" />
         <EntityTypeShape EntityType="gr692_kovModel.Order" Width="1.5" PointX="5.25" PointY="1" IsExpanded="true" />
         <EntityTypeShape EntityType="gr692_kovModel.Room" Width="1.5" PointX="3" PointY="1.5" IsExpanded="true" />

+ 40 - 1
Hotel_Course_Project/OrderChangeOrAddPage.xaml

@@ -14,7 +14,46 @@
             <ColumnDefinition></ColumnDefinition>
         </Grid.ColumnDefinitions>
         <Grid.RowDefinitions>
-            <RowDefinition> </RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
         </Grid.RowDefinitions>
+
+        <TextBlock Grid.Row="0" HorizontalAlignment="Right" VerticalAlignment="Center">Клиент:</TextBlock>
+        <TextBlock Grid.Row="1" HorizontalAlignment="Right" VerticalAlignment="Center">Комната:</TextBlock>
+        <TextBlock Grid.Row="2" HorizontalAlignment="Right" VerticalAlignment="Center">Начало периода:</TextBlock>
+        <TextBlock Grid.Row="3" HorizontalAlignment="Right" VerticalAlignment="Center">Конец периода:</TextBlock>
+        <TextBlock Grid.Row="4" HorizontalAlignment="Right" VerticalAlignment="Center">Оплата:</TextBlock>
+
+        <StackPanel Margin="10,0,0,0" Orientation="Horizontal" Grid.Row="0" Grid.Column="1">
+            <TextBlock x:Name="SClient" VerticalAlignment="Center"></TextBlock>
+            <Button x:Name="SClientBtn" Click="SClientBtn_Click">Добавить</Button>
+        </StackPanel>
+
+        <StackPanel Margin="10,0,0,0" Orientation="Horizontal" Grid.Row="1" Grid.Column="1">
+            <TextBlock VerticalAlignment="Center" x:Name="SRoom"></TextBlock>
+            <Button x:Name="SRoomBtn" Click="SRoomBtn_Click">Добавить</Button>
+        </StackPanel>
+
+        <TextBlock Margin="10,0,0,0" x:Name="SOrderDateStart" Grid.Row="2" Grid.Column="1" VerticalAlignment="Center"></TextBlock>
+        <DatePicker Margin="10,0,0,0" x:Name="SOrderDateEnd" Grid.Row="3" Grid.Column="1" VerticalAlignment="Center"></DatePicker>
+
+        <Button x:Name="PayMakeBtn" Click="PayMakeBtn_Click" Grid.Row="4" Grid.Column="1">Совершить платёж</Button>
+        <StackPanel Margin="10,0,0,0" Grid.Row="4" Grid.Column="1" Name="PaySP">
+            <StackPanel Orientation="Horizontal">
+                <TextBlock>Стоимость: </TextBlock>
+                <TextBlock Name="SPayEndSum"></TextBlock>
+            </StackPanel>
+            <StackPanel Margin="0,20,0,0" Orientation="Horizontal">
+                <TextBlock>Вид платежа: </TextBlock>
+                <TextBlock Name="SPayType"></TextBlock>
+            </StackPanel>
+        </StackPanel>
+
+        <Button Grid.Row="5" Grid.Column="1" x:Name="AddOrChangeBtn" Click="AddOrChangeBtn_Click"></Button>
+        <Button Name="CancelOrderBtn" Click="CancelOrderBtn_Click" Grid.Row="5" HorizontalAlignment="Center">Отменить заказ</Button>
     </Grid>
 </Page>

+ 70 - 0
Hotel_Course_Project/OrderChangeOrAddPage.xaml.cs

@@ -23,6 +23,76 @@ namespace Hotel_Course_Project
         public OrderChangeOrAddPage(Order order, Staff hostel)
         {
             InitializeComponent();
+            SOrderDateStart.Text = DateTime.Now.Date.ToString();
+            SOrderDateEnd.DisplayDateStart = DateTime.Now.AddDays(1);
+            SOrderDateEnd.DisplayDateEnd = DateTime.Now.AddMonths(12);
+            PaySP.Visibility = Visibility.Collapsed;
         }
+
+        private void SClientBtn_Click(object sender, RoutedEventArgs e)
+        {
+            ClientAddOnOrderWindow clientAddOnOrder = new ClientAddOnOrderWindow();
+            clientAddOnOrder.ShowDialog();
+            if(clientAddOnOrder.DialogResult == true)
+            {
+                SClient.Text = "" + Helper.SelectedClientOnOrder.LName + " " + Helper.SelectedClientOnOrder.FName[0] + ".";
+                if (Helper.SelectedClientOnOrder.MName != null)
+                {
+                    SClient.Text += Helper.SelectedClientOnOrder.MName[0] + ".";
+                }
+                SClientBtn.Content = "Изменить";
+                SClientBtn.HorizontalAlignment = HorizontalAlignment.Right;
+                SClientBtn.VerticalAlignment = VerticalAlignment.Center;
+            }
+            else
+            {
+                SClientBtn.Content = "Добавить";
+                SClient.Text = String.Empty;
+                SClientBtn.HorizontalAlignment = HorizontalAlignment.Stretch;
+                SClientBtn.VerticalAlignment = VerticalAlignment.Stretch;
+            }
+        }
+        private void SRoomBtn_Click(object sender, RoutedEventArgs e)
+        {
+            RoomAddOnOrderWindow roomAddOnOrder = new RoomAddOnOrderWindow();
+            roomAddOnOrder.ShowDialog();
+            if(roomAddOnOrder.DialogResult == true)
+            {
+                SRoom.Text = "№" + Helper.SelectedRoomOnOrder.NumRoom + " дневная оплата: " + Helper.SelectedRoomOnOrder.CostPerDay;
+                SRoomBtn.Content = "Изменить";
+                SRoomBtn.HorizontalAlignment = HorizontalAlignment.Right;
+                SRoomBtn.VerticalAlignment = VerticalAlignment.Center;
+            }
+            else
+            {
+                SRoomBtn.Content = "Изменить";
+                SRoomBtn.HorizontalAlignment = HorizontalAlignment.Stretch;
+                SRoomBtn.VerticalAlignment = VerticalAlignment.Stretch;
+                SRoom.Text = String.Empty;
+            }
+        }
+
+        private void PayMakeBtn_Click(object sender, RoutedEventArgs e)
+        {
+            if(SOrderDateEnd.SelectedDate == null)
+            {
+                MessageBox.Show("ВЫберите конец периода съёма комнаты");
+            }
+            else
+            {
+
+            }
+        }
+
+        private void AddOrChangeBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void CancelOrderBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
     }
 }

+ 26 - 0
Hotel_Course_Project/PayAddOnOrderWindow.xaml

@@ -0,0 +1,26 @@
+<Window x:Class="Hotel_Course_Project.PayAddOnOrderWindow"
+        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:Hotel_Course_Project"
+        mc:Ignorable="d"
+        Title="Подтверждение платежа" Height="200" Width="200">
+    <Grid>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition></ColumnDefinition>
+            <ColumnDefinition></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">Итоговая сумма</TextBlock>
+        <TextBlock Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center">Вид оплаты</TextBlock>
+        <TextBlock Name="SummEnd" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
+        <ComboBox Name="SPayTypeCB" Grid.Row="1" Grid.Column="1"></ComboBox>
+        <Button Grid.Row="2" Name="BackBtn" Click="BackBtn_Click">Отменить</Button>
+        <Button Grid.Row="2" Grid.Column="1" Name="AddBtn" Click="AddBtn_Click">Подтвердить</Button>
+    </Grid>
+</Window>

+ 37 - 0
Hotel_Course_Project/PayAddOnOrderWindow.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 Hotel_Course_Project
+{
+    /// <summary>
+    /// Логика взаимодействия для PayAddOnOrderWindow.xaml
+    /// </summary>
+    public partial class PayAddOnOrderWindow : Window
+    {
+        public PayAddOnOrderWindow()
+        {
+            InitializeComponent();
+        }
+
+        private void BackBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+
+        private void AddBtn_Click(object sender, RoutedEventArgs e)
+        {
+
+        }
+    }
+}

+ 37 - 0
Hotel_Course_Project/RoomAddOnOrderWindow.xaml

@@ -0,0 +1,37 @@
+<Window x:Class="Hotel_Course_Project.RoomAddOnOrderWindow"
+        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:Hotel_Course_Project"
+        mc:Ignorable="d"
+        Title="Добавление комнаты" Height="350" Width="500">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="40"></RowDefinition>
+            <RowDefinition></RowDefinition>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition></ColumnDefinition>
+            <ColumnDefinition></ColumnDefinition>
+        </Grid.ColumnDefinitions>
+
+        <Button x:Name="BackBtn" Click="BackBtn_Click">Отмена</Button>
+
+        <DataGrid x:Name="RoomList" Grid.Row="1" Grid.ColumnSpan="2" AutoGenerateColumns="False" ColumnWidth="*" IsReadOnly="True">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Номер Комнаты" Binding="{Binding NumRoom}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Кол-во мест" Binding="{Binding CountOfSeats}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Дневная оплата" Binding="{Binding CostPerDay}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Статус комнаты" Binding="{Binding RoomStatus.Name}"></DataGridTextColumn>
+                <DataGridTemplateColumn>
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <Button x:Name="SelectRoomBtn" Click="SelectRoomBtn_Click">Выбрать</Button>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+            </DataGrid.Columns>
+        </DataGrid>
+    </Grid>
+</Window>

+ 40 - 0
Hotel_Course_Project/RoomAddOnOrderWindow.xaml.cs

@@ -0,0 +1,40 @@
+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 Hotel_Course_Project
+{
+    /// <summary>
+    /// Логика взаимодействия для RoomAddOnOrderWindow.xaml
+    /// </summary>
+    public partial class RoomAddOnOrderWindow : Window
+    {
+        public RoomAddOnOrderWindow()
+        {
+            InitializeComponent();
+            RoomList.ItemsSource = DataBase.db.Room.Where(item => item.Id_RoomStatus == 1);
+        }
+
+        private void BackBtn_Click(object sender, RoutedEventArgs e)
+        {
+            DialogResult = false;
+        }
+
+        private void SelectRoomBtn_Click(object sender, RoutedEventArgs e)
+        {
+            Room room = (sender as Button).DataContext as Room;
+            Helper.SelectedRoomOnOrder = room;
+            DialogResult = true;
+        }
+    }
+}