Browse Source

Fiks 24/04

gr672_bda 4 years ago
parent
commit
49c77bb74b

+ 6 - 0
ProjectAnalogParus.sln

@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.29102.190
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectAnalogParus", "ProjectAnalogParus\ProjectAnalogParus.csproj", "{5BB78EB7-2BEF-42BD-BD58-BD478AE7E9B4}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FilterDataGrid", "C:\Users\gr672_bda\Downloads\DataGridFilter-master\FilterDataGrid\FilterDataGrid.csproj", "{1284F448-055D-49B6-9A1B-81E9BBF447C8}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
 		{5BB78EB7-2BEF-42BD-BD58-BD478AE7E9B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{5BB78EB7-2BEF-42BD-BD58-BD478AE7E9B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{5BB78EB7-2BEF-42BD-BD58-BD478AE7E9B4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{1284F448-055D-49B6-9A1B-81E9BBF447C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{1284F448-055D-49B6-9A1B-81E9BBF447C8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{1284F448-055D-49B6-9A1B-81E9BBF447C8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{1284F448-055D-49B6-9A1B-81E9BBF447C8}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 20 - 12
ProjectAnalogParus/AccrualsPage.xaml

@@ -1,30 +1,38 @@
 <Page x:Class="ProjectAnalogParus.AccrualsPage"     
       xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   
+      xmlns:control="http://filterdatagrid.control.com/2021"
       xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
       xmlns:d="http://schemas.microsoft.com/expression/blend/2008"     
-      xmlns:local="clr-namespace:ProjectAnalogParus"
+      xmlns:local="clr-namespace:ProjectAnalogParus"         
    
       mc:Ignorable="d" 
       d:DesignHeight="450" d:DesignWidth="800"
       Title="AccrualsPage" Loaded="LoadedWindows">
 
+
+
     <Grid Margin="0,0,10,10">
 
 
-        <DataGrid Name="Acctualsgrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="188" Margin="10,74,0,0" VerticalAlignment="Top" Width="780" >
 
-            <DataGrid.Columns>
-                <DataGridTextColumn Binding="{Binding IdAccrualsScholarship}" Header="Id" Width="*"/>
-                <DataGridTextColumn Binding="{Binding Student.LastName}" Header="Студент" Width="3*"/>
-                <DataGridTextColumn Binding="{Binding User.FullNameUser}" Header="Ответсвенное лицо" Width="3*" />
-                <DataGridTextColumn Binding="{Binding DateAccruals,StringFormat='yyyy-MM-dd'}" Header="Дата начисления" Width="3*" />
-                <DataGridTextColumn Binding="{Binding Scholarship.NameScholarship}" Header="Стипендия" Width="3*" />
-                <DataGridTextColumn Binding="{Binding Encouragement.NameTypeEncouragement}" Header="Поощрение" Width="3*" />
-                <DataGridTextColumn Binding="{Binding Amount}" Header="Сумма" Width="3*" />
-            </DataGrid.Columns>
 
-        </DataGrid>
+        <control:FilterDataGrid CanUserAddRows="False" Name="Acctualsgrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="188" Margin="10,74,0,0" VerticalAlignment="Top" Width="780" >
+
+            <control:FilterDataGrid.Columns>
+                <control:DataGridTextColumn Binding="{Binding Student.LastName}" Header="Фамилия" Width="3*" IsColumnFiltered="True" />
+                <control:DataGridTextColumn Binding="{Binding Student.FirstName}" Header="Имя" Width="2*" IsColumnFiltered="True" >
+
+                </control:DataGridTextColumn>
+                <control:DataGridTextColumn Binding="{Binding Student.Middlename}" Header="Отчество" Width="3*" IsColumnFiltered="True" />
+                <control:DataGridTextColumn Binding="{Binding User.FullNameUser}" Header="Ответсвенное лицо" Width="4*" IsColumnFiltered="True"  />
+                <control:DataGridTextColumn Binding="{Binding DateAccruals,StringFormat='yyyy-MM-dd'}" Header="Дата начисления" Width="4*" IsColumnFiltered="True"  />
+                <control:DataGridTextColumn Binding="{Binding Scholarship.NameScholarship}" Header="Стипендия" Width="3*" IsColumnFiltered="True"  />
+                <control:DataGridTextColumn Binding="{Binding Encouragement.NameTypeEncouragement}" Header="Поощрение" Width="3*" IsColumnFiltered="True"  />
+                <control:DataGridTextColumn Binding="{Binding Amount}" Header="Сумма" Width="2*" IsColumnFiltered="True"  />
+            </control:FilterDataGrid.Columns>
+
+        </control:FilterDataGrid>
 
 
         <Button Content="Экспорт Excel" HorizontalAlignment="Left" Margin="51,285,0,0" VerticalAlignment="Top" Width="97" Click="ExcelClick"/>

+ 7 - 3
ProjectAnalogParus/AccrualsPage.xaml.cs

@@ -1,6 +1,8 @@
-using Microsoft.Office.Interop.Excel;
+using Microsoft.Build.Tasks.Deployment.Bootstrapper;
+using Microsoft.Office.Interop.Excel;
 using System;
 using System.Collections.Generic;
+using System.Collections.ObjectModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -16,6 +18,7 @@ using System.Windows.Shapes;
 using Excel = Microsoft.Office.Interop.Excel;
 using Page = System.Windows.Controls.Page;
 
+
 namespace ProjectAnalogParus
 {
     /// <summary>
@@ -27,9 +30,10 @@ namespace ProjectAnalogParus
         public AccrualsPage()
         {
             InitializeComponent();
+
         }
-     
-        private void ExcelClick(object sender, RoutedEventArgs e)
+
+            private void ExcelClick(object sender, RoutedEventArgs e)
         {          
             Excel.Application excel = new Excel.Application();
             excel.Visible = true;

+ 16 - 0
ProjectAnalogParus/InsertScholarshipWindow.xaml

@@ -0,0 +1,16 @@
+<Window x:Class="ProjectAnalogParus.InsertScholarshipWindow"
+        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:ProjectAnalogParus"
+        mc:Ignorable="d"
+        Title="InsertScholarshipWindow" Height="450" Width="800">
+    <Grid>
+        <Button Content="Добавить" HorizontalAlignment="Left" Margin="91,310,0,0" VerticalAlignment="Top" Width="75" Click="Insert_Click"/>
+        <Button Content="Отмена" HorizontalAlignment="Left" Margin="187,310,0,0" VerticalAlignment="Top" Width="75" Click="Cancel_Click"/>
+        <TextBox Name="txtName" HorizontalAlignment="Left" Height="23" Margin="200,123,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
+        <TextBox Name="txtAmount" HorizontalAlignment="Left" Height="23" Margin="200,170,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
+
+    </Grid>
+</Window>

+ 55 - 0
ProjectAnalogParus/InsertScholarshipWindow.xaml.cs

@@ -0,0 +1,55 @@
+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 ProjectAnalogParus
+{
+    /// <summary>
+    /// Логика взаимодействия для InsertScholarshipWindow.xaml
+    /// </summary>
+    public partial class InsertScholarshipWindow : Window
+    {
+        gr672_bdaEntities db = new gr672_bdaEntities();
+        public InsertScholarshipWindow()
+        {
+            InitializeComponent();
+        }
+
+        private void Insert_Click(object sender, RoutedEventArgs e)
+        {
+            if (txtAmount != null && txtName != null)
+            {
+                Scholarship scholarship = new Scholarship();
+                scholarship.NameScholarship = txtName.Text;
+                scholarship.Amount = Convert.ToDecimal(txtAmount.Text);
+                db.Scholarship.Add(scholarship);
+                db.SaveChanges();
+                MessageBox.Show("Новая запись добавлена");
+            }
+            else
+            {
+                MessageBox.Show("Не все поля заполнены!");
+            }
+
+          
+
+
+        }
+
+        private void Cancel_Click(object sender, RoutedEventArgs e)
+        {
+            this.Close();
+            FramePage.MainFrame.Navigate(new ScholarshipsPage());
+        }
+    }
+}

+ 14 - 0
ProjectAnalogParus/ProjectAnalogParus.csproj

@@ -62,6 +62,7 @@
     <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
       <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
     </Reference>
+    <Reference Include="Microsoft.Build.Tasks.v4.0" />
     <Reference Include="Moq, Version=4.16.0.0, Culture=neutral, PublicKeyToken=69f491c39445e920, processorArchitecture=MSIL">
       <HintPath>..\packages\Moq.4.16.1\lib\net45\Moq.dll</HintPath>
     </Reference>
@@ -180,6 +181,9 @@
     <Compile Include="InsertEncouragementWindow.xaml.cs">
       <DependentUpon>InsertEncouragementWindow.xaml</DependentUpon>
     </Compile>
+    <Compile Include="InsertScholarshipWindow.xaml.cs">
+      <DependentUpon>InsertScholarshipWindow.xaml</DependentUpon>
+    </Compile>
     <Compile Include="InsertUserWindow.xaml.cs">
       <DependentUpon>InsertUserWindow.xaml</DependentUpon>
     </Compile>
@@ -296,6 +300,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="InsertScholarshipWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
     <Page Include="InsertUserWindow.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
@@ -429,5 +437,11 @@
       <EmbedInteropTypes>True</EmbedInteropTypes>
     </COMReference>
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="C:\Users\gr672_bda\Downloads\DataGridFilter-master\FilterDataGrid\FilterDataGrid.csproj">
+      <Project>{1284f448-055d-49b6-9a1b-81e9bbf447c8}</Project>
+      <Name>FilterDataGrid</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

+ 2 - 3
ProjectAnalogParus/ScholarshipsPage.xaml

@@ -9,10 +9,9 @@
       Title="ScholarshipsPage" Loaded="LoadedWindows">
 
     <Grid>
-        <DataGrid Name="Scholarshipsgrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="150" Margin="10,10,0,0" VerticalAlignment="Top" Width="780" >
+        <DataGrid CanUserAddRows="False" Name="Scholarshipsgrid" HorizontalAlignment="Left" AutoGenerateColumns="False" Height="150" Margin="10,10,0,0" VerticalAlignment="Top" Width="780" >
 
-            <DataGrid.Columns>
-                <DataGridTextColumn Binding="{Binding IdSсholarship}" Header="Id" Width="*"/>
+            <DataGrid.Columns>                
                 <DataGridTextColumn Binding="{Binding NameScholarship}" Header="Стипендия" Width="3*"/>
                 <DataGridTextColumn Binding="{Binding Amount}" Header="Сумма" Width="3*" />
             </DataGrid.Columns>

+ 7 - 4
ProjectAnalogParus/ScholarshipsPage.xaml.cs

@@ -31,8 +31,10 @@ namespace ProjectAnalogParus
         }
 
         private void Incert_Click(object sender, RoutedEventArgs e)
-        {          
-       
+        {
+            InsertScholarshipWindow open = new InsertScholarshipWindow();
+            open.Show();
+            
         }
 
         private void Delete_Click(object sender, RoutedEventArgs e)
@@ -43,11 +45,12 @@ namespace ProjectAnalogParus
                 MessageBoxResult result = MessageBox.Show("Удалить данные?", "", MessageBoxButton.YesNo);
                 if (result == MessageBoxResult.Yes)
                 {
-                    var selectedItem = (Scholarship)Scholarshipsgrid.SelectedItem;
+                    var selectedItem = (Scholarship)Scholarshipsgrid.SelectedItem;                    
                     if (selectedItem != null)
-                    {
+                    {                        
                         db.Scholarship.Remove(selectedItem);
                         db.SaveChanges();
+                        Scholarshipsgrid.ItemsSource = db.Scholarship.ToList();
                     }
                     
                 }