Przeglądaj źródła

ewfewfwefewffew

mr.solder5 5 lat temu
rodzic
commit
6088b3edfa

+ 68 - 0
AuthorizationTest/AuthorizationTest.csproj

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props')" />
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{88044BED-C78F-4423-8BE2-41E8F82EBA2A}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>AuthorizationTest</RootNamespace>
+    <AssemblyName>AuthorizationTest</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
+    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+    <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
+    <IsCodedUITest>False</IsCodedUITest>
+    <TestProjectType>UnitTest</TestProjectType>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\MSTest.TestFramework.1.3.2\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="UnitTest1.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="packages.config" />
+  </ItemGroup>
+  <Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.props'))" />
+    <Error Condition="!Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.targets'))" />
+  </Target>
+  <Import Project="..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.targets" Condition="Exists('..\packages\MSTest.TestAdapter.1.3.2\build\net45\MSTest.TestAdapter.targets')" />
+</Project>

+ 20 - 0
AuthorizationTest/Properties/AssemblyInfo.cs

@@ -0,0 +1,20 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("AuthorizationTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("AuthorizationTest")]
+[assembly: AssemblyCopyright("Copyright ©  2019")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: ComVisible(false)]
+
+[assembly: Guid("88044bed-c78f-4423-8be2-41e8f82eba2a")]
+
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 35 - 0
AuthorizationTest/UnitTest1.cs

@@ -0,0 +1,35 @@
+using System;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace AuthorizationTest
+{
+    [TestClass]
+    public class AuthorizationTest
+    {
+        gr672_liiEntities db;
+
+        [TestMethod]
+        public void TestMethod1()
+        {
+            InitializeComponent();
+            db = new gr672_liiEntities();
+            var Authorization = new Authorization();
+            Assert.IsFalse(Authorization.Auth("test", "123")));
+            Assert.IsTrue(Authorization.Auth("max", "123"));
+
+        }
+    }
+
+    public class Authorization
+    {
+        gr672_liiEntities db = new gr672_liiEntities();
+        public bool Auth(string login, string password)
+        {
+            if (login == "" || password == "")
+            {
+                return false;
+            }
+            if (db.User.Select(item => item.Login + " " + item.Password).Contains(login + " " + password))
+        }
+    }
+}

+ 5 - 0
AuthorizationTest/packages.config

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="MSTest.TestAdapter" version="1.3.2" targetFramework="net472" />
+  <package id="MSTest.TestFramework" version="1.3.2" targetFramework="net472" />
+</packages>

+ 8 - 2
CopyCenter.sln

@@ -1,10 +1,12 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28307.168
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29503.13
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CopyCenter", "CopyCenter\CopyCenter.csproj", "{04616998-307A-4A63-8664-563D90797C95}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AuthorizationTest", "AuthorizationTest\AuthorizationTest.csproj", "{88044BED-C78F-4423-8BE2-41E8F82EBA2A}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
 		{04616998-307A-4A63-8664-563D90797C95}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{04616998-307A-4A63-8664-563D90797C95}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{04616998-307A-4A63-8664-563D90797C95}.Release|Any CPU.Build.0 = Release|Any CPU
+		{88044BED-C78F-4423-8BE2-41E8F82EBA2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{88044BED-C78F-4423-8BE2-41E8F82EBA2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{88044BED-C78F-4423-8BE2-41E8F82EBA2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{88044BED-C78F-4423-8BE2-41E8F82EBA2A}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 1 - 1
CopyCenter/App.xaml

@@ -2,7 +2,7 @@
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:local="clr-namespace:CopyCenter"
-             StartupUri="MenuWindow.xaml">
+             StartupUri="AuthorizationWindow.xaml">
     <Application.Resources>
         <ResourceDictionary Source="Style.xaml"/>
     </Application.Resources>

+ 20 - 14
CopyCenter/CardsWindow.xaml

@@ -7,24 +7,30 @@
         mc:Ignorable="d"
         Title="Дисконтные карты" Height="450" Width="800" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
     <Grid>
-        <DataGrid Name="CardsList" AutoGenerateColumns="False" Margin="0,0,617,208">
+        <DataGrid Name="CardsList" AutoGenerateColumns="False" Margin="0,0,0,156">
             <DataGrid.Columns>
-                <DataGridTextColumn  Header="Номер" Binding="{Binding NumberCard}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Тип" Binding="{Binding TypeCard}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер клиента" Binding="{Binding idClient}"></DataGridTextColumn>
+                <DataGridTextColumn Header="ID" Width="*" Binding="{Binding idCard}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер" Width="*" Binding="{Binding NumberCard}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Тип" Width="*" Binding="{Binding TypeCard}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер клиента" Width="*" Binding="{Binding idClient}"></DataGridTextColumn>
             </DataGrid.Columns>
         </DataGrid>
-        <Button Content="" HorizontalAlignment="Right" Margin="0,369,10,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
-            <Button.Background>
-                <ImageBrush ImageSource="edit_redo.png"/>
-            </Button.Background>
+        <Button HorizontalAlignment="Right" Margin="0,369,10,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
+            <StackPanel>
+                <Image Source ="edit_redo.png" Height="40" Width="69"/>
+            </StackPanel>
         </Button>
-        <Button Content="Добавить" HorizontalAlignment="Left" Margin="385,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Add" Foreground="White"/>
-        <Button Content="Удалить" HorizontalAlignment="Left" Margin="503,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
-        <Button Content="Обновить" HorizontalAlignment="Left" Margin="622,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Update" Foreground="White"/>
-        <TextBox Name="Number" HorizontalAlignment="Left" Height="40" Margin="385,324,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
-        <TextBox Name="TypeCard" HorizontalAlignment="Left" Height="40" Margin="503,324,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
-        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="622,324,0,0" VerticalAlignment="Top" Width="115" Height="29"/>
+        <Button Content="Добавить" HorizontalAlignment="Left" Margin="471,304,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Add" Foreground="White"/>
+        <Button Content="Удалить" HorizontalAlignment="Left" Margin="576,304,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
+        <Button Content="Обновить" HorizontalAlignment="Left" Margin="524,344,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Update" Foreground="White"/>
+        <TextBox Name="Number" HorizontalAlignment="Left" Height="31" Margin="203,304,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBox Name="TypeCard" HorizontalAlignment="Left" Height="31" Margin="203,342,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="203,378,0,0" VerticalAlignment="Top" Width="146" Height="29"/>
+        <TextBlock HorizontalAlignment="Left" Margin="104,304,0,0" TextWrapping="Wrap" Text="Номер" VerticalAlignment="Top" Height="31" Width="94"/>
+        <TextBlock HorizontalAlignment="Left" Margin="104,342,0,0" TextWrapping="Wrap" Text="Тип" VerticalAlignment="Top" Height="31" Width="94"/>
+        <TextBlock HorizontalAlignment="Left" Margin="104,378,0,0" TextWrapping="Wrap" Text="Номер клиента" VerticalAlignment="Top" Height="31" Width="94"/>
+        <TextBox Name="ID" HorizontalAlignment="Left" Height="31" Margin="203,268,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBlock HorizontalAlignment="Left" Margin="104,268,0,0" TextWrapping="Wrap" Text="ID" VerticalAlignment="Top" Height="31" Width="94"/>
 
 
     </Grid>

+ 26 - 9
CopyCenter/CardsWindow.xaml.cs

@@ -38,34 +38,51 @@ namespace CopyCenter
 
         private void Add(object sender, RoutedEventArgs e)
         {
+            if (Number.Text == "" || TypeCard.Text == "" || comboBox1.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+
             Card card = new Card();
             card.NumberCard = Convert.ToInt32(Number.Text);
             card.TypeCard = TypeCard.Text;
             card.idClient = Convert.ToInt32(comboBox1.SelectedValue.ToString());
             db.Cards.Add(card);
             db.SaveChanges();
+            MessageBox.Show("Успешно добавлена дисконтная карта");
             CardsList.ItemsSource = db.Cards.ToList();
         }
 
         private void Delete(object sender, RoutedEventArgs e)
         {
-            Card dRow = new Card();
-            int num = Convert.ToInt32(Number.Text);
-            dRow = db.Cards.Where(w => w.NumberCard == num).FirstOrDefault();
-            db.Cards.Remove(dRow);
-            db.SaveChanges();
-            CardsList.ItemsSource = db.Cards.ToList();
+            var result = MessageBox.Show("Вы точно хотите удалить карту?", "Подтверждение", MessageBoxButton.YesNo, MessageBoxImage.Question);
+            if (result == MessageBoxResult.Yes)
+            {
+                Card card = (Card)CardsList.SelectedItem;
+                db.Cards.Remove(card);
+                db.SaveChanges();
+                MessageBox.Show("Успешно удалена дисконтная карта");
+                CardsList.ItemsSource = db.Services.ToList();
+            }
         }
 
         private void Update(object sender, RoutedEventArgs e)
         {
-            Card uRow = new Card();
-            int num = Convert.ToInt32(Number.Text);
-            uRow = db.Cards.Where(w => w.NumberCard == num).FirstOrDefault();
+            if (Number.Text == "" || TypeCard.Text == "" || comboBox1.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+            int num = 0;
+            int.TryParse(ID.Text, out num);
+            var uRow = db.Cards.Where(w => w.idCard == num).FirstOrDefault();
             uRow.NumberCard = Convert.ToInt32(Number.Text);
             uRow.TypeCard = TypeCard.Text;
             uRow.idClient = Convert.ToInt32(comboBox1.SelectedValue.ToString());
+            
             db.SaveChanges();
+            MessageBox.Show("Успешно отредактировано поле");
             CardsList.ItemsSource = db.Cards.ToList();
         }
 

+ 18 - 14
CopyCenter/ClientsWindow.xaml

@@ -7,24 +7,28 @@
         mc:Ignorable="d"
         Title="Клиенты" Height="450" Width="800" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
     <Grid>
-        <DataGrid Name="ClientsList" AutoGenerateColumns="False" Margin="0,0,361,152">
+        <DataGrid Name="ClientsList" AutoGenerateColumns="False" Margin="0,0,0,133">
             <DataGrid.Columns>
-                <DataGridTextColumn Header="Наименование" Binding="{Binding NameClient}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Тип клиента" Binding="{Binding TypeClient}"></DataGridTextColumn>
+                <DataGridTextColumn Header="ID" Width="*" Binding="{Binding idClient}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Наименование" Width="*" Binding="{Binding NameClient}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Тип клиента" Width="*" Binding="{Binding TypeClient}"></DataGridTextColumn>
             </DataGrid.Columns>
         </DataGrid>
-        <Button Content="" HorizontalAlignment="Right" Margin="0,369,10,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
-            <Button.Background>
-                <ImageBrush ImageSource="edit_redo.png"/>
-            </Button.Background>
+        <Button HorizontalAlignment="Right" Margin="0,369,10,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
+            <StackPanel>
+                <Image Source ="edit_redo.png" Height="40" Width="69"/>
+            </StackPanel>
         </Button>
-        <Button Content="Добавить" HorizontalAlignment="Left" Margin="385,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Add" Foreground="White"/>
-        <Button Content="Удалить" HorizontalAlignment="Left" Margin="503,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
-        <Button Content="Обновить" HorizontalAlignment="Left" Margin="622,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Update" Foreground="White"/>
-        <TextBox Name="Name" HorizontalAlignment="Left" Height="31" Margin="599,77,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="149"/>
-        <TextBox Name="TypeClient" HorizontalAlignment="Left" Height="34" Margin="599,124,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="149"/>
-        <TextBlock HorizontalAlignment="Left" Margin="483,77,0,0" TextWrapping="Wrap" Text="Наименование" VerticalAlignment="Top" Height="31" Width="94"/>
-        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="462,124,0,0" VerticalAlignment="Top" Width="115" Height="34"/>
+        <Button Content="Добавить" HorizontalAlignment="Left" Margin="482,311,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Add" Foreground="White"/>
+        <Button Content="Удалить" HorizontalAlignment="Left" Margin="587,311,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
+        <Button Content="Обновить" HorizontalAlignment="Left" Margin="535,351,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Update" Foreground="White"/>
+        <TextBox Name="Name" HorizontalAlignment="Left" Height="31" Margin="205,339,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBox Name="TypeClient" HorizontalAlignment="Left" Height="34" Margin="205,375,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBlock Margin="74,339,624,0" TextWrapping="Wrap" Text="Наименование" VerticalAlignment="Top" Height="31" Width="94"/>
+        <TextBlock Margin="74,375,592,0"><Run Text="Тип клиента "/><LineBreak/><Run Text="(юр. лицо / физ. лицо)"/></TextBlock>
+        <TextBox Name="ID" HorizontalAlignment="Left" Height="31" Margin="205,303,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBlock Margin="74,303,624,0" TextWrapping="Wrap" Text="ID" VerticalAlignment="Top" Height="31" Width="94"/>
+
 
 
 

+ 24 - 7
CopyCenter/ClientsWindow.xaml.cs

@@ -35,30 +35,47 @@ namespace CopyCenter
 
         private void Add(object sender, RoutedEventArgs e)
         {
+            if (Name.Text == "" || TypeClient.Text == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
             Client client = new Client();
             client.NameClient = Name.Text;
             client.TypeClient = TypeClient.Text;
             db.Clients.Add(client);
             db.SaveChanges();
+            MessageBox.Show("Успешно зарегистрирован клиент");
             ClientsList.ItemsSource = db.Clients.ToList();
         }
 
         private void Delete(object sender, RoutedEventArgs e)
         {
-            Client dRow = new Client();
-            dRow = db.Clients.Where(w => w.NameClient == Name.Text).FirstOrDefault();
-            db.Clients.Remove(dRow);
-            db.SaveChanges();
-            ClientsList.ItemsSource = db.Clients.ToList();
+            var result = MessageBox.Show("Вы точно хотите удалить клиента?", "Подтверждение", MessageBoxButton.YesNo, MessageBoxImage.Question);
+            if (result == MessageBoxResult.Yes)
+            {
+                Client client = (Client)ClientsList.SelectedItem;
+                db.Clients.Remove(client);
+                db.SaveChanges();
+                MessageBox.Show("Успешно удалена услуга");
+                ClientsList.ItemsSource = db.Services.ToList();
+            }
         }
 
         private void Update(object sender, RoutedEventArgs e)
         {
-            Client uRow = new Client();
-            uRow = db.Clients.Where(w => w.NameClient == Name.Text).FirstOrDefault();
+            if (Name.Text == "" || TypeClient.Text == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+            int num = 0;
+            int.TryParse(ID.Text, out num);
+            var uRow = db.Clients.Where(w => w.idClient == num).FirstOrDefault();
             uRow.NameClient = Name.Text;
             uRow.TypeClient = TypeClient.Text;
             db.SaveChanges();
+            MessageBox.Show("Успешно отредактировано поле");
             ClientsList.ItemsSource = db.Clients.ToList();
         }
 

+ 6 - 2
CopyCenter/CopyCenter.csproj

@@ -199,6 +199,7 @@
     <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
   </ItemGroup>
   <ItemGroup>
+    <Resource Include="iX50TBV07.jpg" />
     <Resource Include="orig.png" />
     <Resource Include="edit_redo.png" />
     <Resource Include="logging-out-2355227_1280.png" />
@@ -213,6 +214,11 @@
     <Resource Include="27598932_60x60[1].png" />
     <Resource Include="7bdd0639f0f150dcbf64d929e4[1].png" />
     <Resource Include="200x200bb.jpg" />
+    <Resource Include="agreement-icon[1].png" />
+    <Resource Include="user-logo.png" />
+    <Resource Include="key[1].png" />
+  </ItemGroup>
+  <ItemGroup>
     <Content Include="DataBase.Context.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <DependentUpon>DataBase.edmx</DependentUpon>
@@ -223,8 +229,6 @@
       <DependentUpon>DataBase.edmx</DependentUpon>
       <LastGenOutput>DataBase.cs</LastGenOutput>
     </Content>
-    <Resource Include="user-logo.png" />
-    <Resource Include="key[1].png" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

+ 129 - 114
CopyCenter/DataBase.edmx

@@ -4,7 +4,7 @@
   <edmx:Runtime>
     <!-- SSDL content -->
     <edmx:StorageModels>
-      <Schema Namespace="gr672_liiModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
+    <Schema Namespace="gr672_liiModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
         <EntityType Name="Card">
           <Key>
             <PropertyRef Name="idCard" />
@@ -65,7 +65,7 @@
           </Key>
           <Property Name="idService" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
           <Property Name="NameService" Type="nvarchar" MaxLength="50" Nullable="false" />
-          <Property Name="PriceService" Type="money" Nullable="false" />
+          <Property Name="PriceService" Type="int" Nullable="false" />
           <Property Name="DescriptionService" Type="nvarchar" MaxLength="50" Nullable="false" />
           <Property Name="idCategory" Type="int" Nullable="false" />
         </EntityType>
@@ -94,7 +94,9 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Discount_Order">
-          <End Role="Order" Type="Self.Order" Multiplicity="1" />
+          <End Role="Order" Type="Self.Order" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
           <End Role="Discount" Type="Self.Discount" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Order">
@@ -118,7 +120,9 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_Payment">
-          <End Role="Payment" Type="Self.Payment" Multiplicity="1" />
+          <End Role="Payment" Type="Self.Payment" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
           <End Role="Order" Type="Self.Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Payment">
@@ -130,7 +134,9 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_Service">
-          <End Role="Service" Type="Self.Service" Multiplicity="1" />
+          <End Role="Service" Type="Self.Service" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
           <End Role="Order" Type="Self.Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Service">
@@ -154,7 +160,9 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Service_CategoryService">
-          <End Role="CategoryService" Type="Self.CategoryService" Multiplicity="1" />
+          <End Role="CategoryService" Type="Self.CategoryService" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
           <End Role="Service" Type="Self.Service" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="CategoryService">
@@ -203,38 +211,75 @@
             <End Role="Service" EntitySet="Service" />
           </AssociationSet>
         </EntityContainer>
-      </Schema>
-    </edmx:StorageModels>
+      </Schema></edmx:StorageModels>
     <!-- CSDL content -->
     <edmx:ConceptualModels>
       <Schema Namespace="gr672_liiModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
+        <EntityContainer Name="gr672_liiEntities" annotation:LazyLoadingEnabled="true">
+          <EntitySet Name="Cards" EntityType="gr672_liiModel.Card" />
+          <EntitySet Name="CategoryServices" EntityType="gr672_liiModel.CategoryService" />
+          <EntitySet Name="Clients" EntityType="gr672_liiModel.Client" />
+          <EntitySet Name="Discounts" EntityType="gr672_liiModel.Discount" />
+          <EntitySet Name="Orders" EntityType="gr672_liiModel.Order" />
+          <EntitySet Name="Payments" EntityType="gr672_liiModel.Payment" />
+          <EntitySet Name="Services" EntityType="gr672_liiModel.Service" />
+          <EntitySet Name="Users" EntityType="gr672_liiModel.User" />
+          <AssociationSet Name="FK_Card_Client" Association="gr672_liiModel.FK_Card_Client">
+            <End Role="Client" EntitySet="Clients" />
+            <End Role="Card" EntitySet="Cards" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Service_CategoryService" Association="gr672_liiModel.FK_Service_CategoryService">
+            <End Role="CategoryService" EntitySet="CategoryServices" />
+            <End Role="Service" EntitySet="Services" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Order_Client" Association="gr672_liiModel.FK_Order_Client">
+            <End Role="Client" EntitySet="Clients" />
+            <End Role="Order" EntitySet="Orders" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Discount_Order" Association="gr672_liiModel.FK_Discount_Order">
+            <End Role="Order" EntitySet="Orders" />
+            <End Role="Discount" EntitySet="Discounts" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Order_Payment" Association="gr672_liiModel.FK_Order_Payment">
+            <End Role="Payment" EntitySet="Payments" />
+            <End Role="Order" EntitySet="Orders" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Order_Service" Association="gr672_liiModel.FK_Order_Service">
+            <End Role="Service" EntitySet="Services" />
+            <End Role="Order" EntitySet="Orders" />
+          </AssociationSet>
+          <AssociationSet Name="FK_Order_User" Association="gr672_liiModel.FK_Order_User">
+            <End Role="User" EntitySet="Users" />
+            <End Role="Order" EntitySet="Orders" />
+          </AssociationSet>
+        </EntityContainer>
         <EntityType Name="Card">
           <Key>
             <PropertyRef Name="idCard" />
           </Key>
           <Property Name="idCard" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
           <Property Name="NumberCard" Type="Int32" Nullable="false" />
-          <Property Name="TypeCard" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="TypeCard" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
           <Property Name="idClient" Type="Int32" Nullable="false" />
-          <NavigationProperty Name="Client" Relationship="Self.FK_Card_Client" FromRole="Card" ToRole="Client" />
+          <NavigationProperty Name="Client" Relationship="gr672_liiModel.FK_Card_Client" FromRole="Card" ToRole="Client" />
         </EntityType>
         <EntityType Name="CategoryService">
           <Key>
             <PropertyRef Name="idCategory" />
           </Key>
           <Property Name="idCategory" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
-          <Property Name="NameCategory" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <NavigationProperty Name="Services" Relationship="Self.FK_Service_CategoryService" FromRole="CategoryService" ToRole="Service" />
+          <Property Name="NameCategory" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="Services" Relationship="gr672_liiModel.FK_Service_CategoryService" FromRole="CategoryService" ToRole="Service" />
         </EntityType>
         <EntityType Name="Client">
           <Key>
             <PropertyRef Name="idClient" />
           </Key>
           <Property Name="idClient" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
-          <Property Name="NameClient" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <Property Name="TypeClient" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <NavigationProperty Name="Cards" Relationship="Self.FK_Card_Client" FromRole="Client" ToRole="Card" />
-          <NavigationProperty Name="Orders" Relationship="Self.FK_Order_Client" FromRole="Client" ToRole="Order" />
+          <Property Name="NameClient" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="TypeClient" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <NavigationProperty Name="Cards" Relationship="gr672_liiModel.FK_Card_Client" FromRole="Client" ToRole="Card" />
+          <NavigationProperty Name="Orders" Relationship="gr672_liiModel.FK_Order_Client" FromRole="Client" ToRole="Order" />
         </EntityType>
         <EntityType Name="Discount">
           <Key>
@@ -243,7 +288,7 @@
           <Property Name="idDiscount" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
           <Property Name="Procent" Type="Int32" Nullable="false" />
           <Property Name="idOrder" Type="Int32" Nullable="false" />
-          <NavigationProperty Name="Order" Relationship="Self.FK_Discount_Order" FromRole="Discount" ToRole="Order" />
+          <NavigationProperty Name="Order" Relationship="gr672_liiModel.FK_Discount_Order" FromRole="Discount" ToRole="Order" />
         </EntityType>
         <EntityType Name="Order">
           <Key>
@@ -251,18 +296,18 @@
           </Key>
           <Property Name="idOrder" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
           <Property Name="NumberOrder" Type="Int32" Nullable="false" />
-          <Property Name="ViewOrder" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="ViewOrder" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
           <Property Name="OrderDate" Type="DateTime" Nullable="false" Precision="0" />
           <Property Name="CostOrder" Type="Int32" Nullable="false" />
           <Property Name="idClient" Type="Int32" Nullable="false" />
           <Property Name="idService" Type="Int32" Nullable="false" />
           <Property Name="idUser" Type="Int32" Nullable="false" />
           <Property Name="idPayment" Type="Int32" Nullable="false" />
-          <NavigationProperty Name="Client" Relationship="Self.FK_Order_Client" FromRole="Order" ToRole="Client" />
-          <NavigationProperty Name="Discounts" Relationship="Self.FK_Discount_Order" FromRole="Order" ToRole="Discount" />
-          <NavigationProperty Name="Payment" Relationship="Self.FK_Order_Payment" FromRole="Order" ToRole="Payment" />
-          <NavigationProperty Name="Service" Relationship="Self.FK_Order_Service" FromRole="Order" ToRole="Service" />
-          <NavigationProperty Name="User" Relationship="Self.FK_Order_User" FromRole="Order" ToRole="User" />
+          <NavigationProperty Name="Client" Relationship="gr672_liiModel.FK_Order_Client" FromRole="Order" ToRole="Client" />
+          <NavigationProperty Name="Discounts" Relationship="gr672_liiModel.FK_Discount_Order" FromRole="Order" ToRole="Discount" />
+          <NavigationProperty Name="Payment" Relationship="gr672_liiModel.FK_Order_Payment" FromRole="Order" ToRole="Payment" />
+          <NavigationProperty Name="Service" Relationship="gr672_liiModel.FK_Order_Service" FromRole="Order" ToRole="Service" />
+          <NavigationProperty Name="User" Relationship="gr672_liiModel.FK_Order_User" FromRole="Order" ToRole="User" />
         </EntityType>
         <EntityType Name="Payment">
           <Key>
@@ -271,36 +316,36 @@
           <Property Name="idPayment" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
           <Property Name="NumberPayment" Type="Int32" Nullable="false" />
           <Property Name="DatePayment" Type="DateTime" Nullable="false" Precision="0" />
-          <NavigationProperty Name="Orders" Relationship="Self.FK_Order_Payment" FromRole="Payment" ToRole="Order" />
+          <NavigationProperty Name="Orders" Relationship="gr672_liiModel.FK_Order_Payment" FromRole="Payment" ToRole="Order" />
         </EntityType>
         <EntityType Name="Service">
           <Key>
             <PropertyRef Name="idService" />
           </Key>
           <Property Name="idService" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
-          <Property Name="NameService" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <Property Name="PriceService" Type="Decimal" Precision="19" Scale="4" Nullable="false" />
-          <Property Name="DescriptionService" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="NameService" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="PriceService" Type="Int32" Nullable="false" />
+          <Property Name="DescriptionService" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
           <Property Name="idCategory" Type="Int32" Nullable="false" />
-          <NavigationProperty Name="CategoryService" Relationship="Self.FK_Service_CategoryService" FromRole="Service" ToRole="CategoryService" />
-          <NavigationProperty Name="Orders" Relationship="Self.FK_Order_Service" FromRole="Service" ToRole="Order" />
+          <NavigationProperty Name="CategoryService" Relationship="gr672_liiModel.FK_Service_CategoryService" FromRole="Service" ToRole="CategoryService" />
+          <NavigationProperty Name="Orders" Relationship="gr672_liiModel.FK_Order_Service" FromRole="Service" ToRole="Order" />
         </EntityType>
         <EntityType Name="User">
           <Key>
             <PropertyRef Name="idUser" />
           </Key>
           <Property Name="idUser" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
-          <Property Name="Login" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <Property Name="Password" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <Property Name="LastName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
-          <Property Name="FirstName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+          <Property Name="Login" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="Password" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="LastName" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
+          <Property Name="FirstName" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
           <Property Name="MiddleName" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
           <Property Name="ContactNumber" Type="Int32" Nullable="false" />
-          <NavigationProperty Name="Orders" Relationship="Self.FK_Order_User" FromRole="User" ToRole="Order" />
+          <NavigationProperty Name="Orders" Relationship="gr672_liiModel.FK_Order_User" FromRole="User" ToRole="Order" />
         </EntityType>
         <Association Name="FK_Card_Client">
-          <End Role="Client" Type="Self.Client" Multiplicity="1" />
-          <End Role="Card" Type="Self.Card" Multiplicity="*" />
+          <End Type="gr672_liiModel.Client" Role="Client" Multiplicity="1" />
+          <End Type="gr672_liiModel.Card" Role="Card" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Client">
               <PropertyRef Name="idClient" />
@@ -311,8 +356,10 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Service_CategoryService">
-          <End Role="CategoryService" Type="Self.CategoryService" Multiplicity="1" />
-          <End Role="Service" Type="Self.Service" Multiplicity="*" />
+          <End Type="gr672_liiModel.CategoryService" Role="CategoryService" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
+          <End Type="gr672_liiModel.Service" Role="Service" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="CategoryService">
               <PropertyRef Name="idCategory" />
@@ -323,8 +370,8 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_Client">
-          <End Role="Client" Type="Self.Client" Multiplicity="1" />
-          <End Role="Order" Type="Self.Order" Multiplicity="*" />
+          <End Type="gr672_liiModel.Client" Role="Client" Multiplicity="1" />
+          <End Type="gr672_liiModel.Order" Role="Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Client">
               <PropertyRef Name="idClient" />
@@ -335,8 +382,10 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Discount_Order">
-          <End Role="Order" Type="Self.Order" Multiplicity="1" />
-          <End Role="Discount" Type="Self.Discount" Multiplicity="*" />
+          <End Type="gr672_liiModel.Order" Role="Order" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
+          <End Type="gr672_liiModel.Discount" Role="Discount" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Order">
               <PropertyRef Name="idOrder" />
@@ -347,8 +396,10 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_Payment">
-          <End Role="Payment" Type="Self.Payment" Multiplicity="1" />
-          <End Role="Order" Type="Self.Order" Multiplicity="*" />
+          <End Type="gr672_liiModel.Payment" Role="Payment" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
+          <End Type="gr672_liiModel.Order" Role="Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Payment">
               <PropertyRef Name="idPayment" />
@@ -359,8 +410,10 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_Service">
-          <End Role="Service" Type="Self.Service" Multiplicity="1" />
-          <End Role="Order" Type="Self.Order" Multiplicity="*" />
+          <End Type="gr672_liiModel.Service" Role="Service" Multiplicity="1">
+            <OnDelete Action="Cascade" />
+          </End>
+          <End Type="gr672_liiModel.Order" Role="Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="Service">
               <PropertyRef Name="idService" />
@@ -371,8 +424,8 @@
           </ReferentialConstraint>
         </Association>
         <Association Name="FK_Order_User">
-          <End Role="User" Type="Self.User" Multiplicity="1" />
-          <End Role="Order" Type="Self.Order" Multiplicity="*" />
+          <End Type="gr672_liiModel.User" Role="User" Multiplicity="1" />
+          <End Type="gr672_liiModel.Order" Role="Order" Multiplicity="*" />
           <ReferentialConstraint>
             <Principal Role="User">
               <PropertyRef Name="idUser" />
@@ -382,44 +435,6 @@
             </Dependent>
           </ReferentialConstraint>
         </Association>
-        <EntityContainer Name="gr672_liiEntities" annotation:LazyLoadingEnabled="true">
-          <EntitySet Name="Cards" EntityType="Self.Card" />
-          <EntitySet Name="CategoryServices" EntityType="Self.CategoryService" />
-          <EntitySet Name="Clients" EntityType="Self.Client" />
-          <EntitySet Name="Discounts" EntityType="Self.Discount" />
-          <EntitySet Name="Orders" EntityType="Self.Order" />
-          <EntitySet Name="Payments" EntityType="Self.Payment" />
-          <EntitySet Name="Services" EntityType="Self.Service" />
-          <EntitySet Name="Users" EntityType="Self.User" />
-          <AssociationSet Name="FK_Card_Client" Association="Self.FK_Card_Client">
-            <End Role="Client" EntitySet="Clients" />
-            <End Role="Card" EntitySet="Cards" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Service_CategoryService" Association="Self.FK_Service_CategoryService">
-            <End Role="CategoryService" EntitySet="CategoryServices" />
-            <End Role="Service" EntitySet="Services" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Order_Client" Association="Self.FK_Order_Client">
-            <End Role="Client" EntitySet="Clients" />
-            <End Role="Order" EntitySet="Orders" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Discount_Order" Association="Self.FK_Discount_Order">
-            <End Role="Order" EntitySet="Orders" />
-            <End Role="Discount" EntitySet="Discounts" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Order_Payment" Association="Self.FK_Order_Payment">
-            <End Role="Payment" EntitySet="Payments" />
-            <End Role="Order" EntitySet="Orders" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Order_Service" Association="Self.FK_Order_Service">
-            <End Role="Service" EntitySet="Services" />
-            <End Role="Order" EntitySet="Orders" />
-          </AssociationSet>
-          <AssociationSet Name="FK_Order_User" Association="Self.FK_Order_User">
-            <End Role="User" EntitySet="Users" />
-            <End Role="Order" EntitySet="Orders" />
-          </AssociationSet>
-        </EntityContainer>
       </Schema>
     </edmx:ConceptualModels>
     <!-- C-S mapping content -->
@@ -429,84 +444,84 @@
           <EntitySetMapping Name="Cards">
             <EntityTypeMapping TypeName="gr672_liiModel.Card">
               <MappingFragment StoreEntitySet="Card">
-                <ScalarProperty Name="idCard" ColumnName="idCard" />
-                <ScalarProperty Name="NumberCard" ColumnName="NumberCard" />
-                <ScalarProperty Name="TypeCard" ColumnName="TypeCard" />
                 <ScalarProperty Name="idClient" ColumnName="idClient" />
+                <ScalarProperty Name="TypeCard" ColumnName="TypeCard" />
+                <ScalarProperty Name="NumberCard" ColumnName="NumberCard" />
+                <ScalarProperty Name="idCard" ColumnName="idCard" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="CategoryServices">
             <EntityTypeMapping TypeName="gr672_liiModel.CategoryService">
               <MappingFragment StoreEntitySet="CategoryService">
-                <ScalarProperty Name="idCategory" ColumnName="idCategory" />
                 <ScalarProperty Name="NameCategory" ColumnName="NameCategory" />
+                <ScalarProperty Name="idCategory" ColumnName="idCategory" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Clients">
             <EntityTypeMapping TypeName="gr672_liiModel.Client">
               <MappingFragment StoreEntitySet="Client">
-                <ScalarProperty Name="idClient" ColumnName="idClient" />
-                <ScalarProperty Name="NameClient" ColumnName="NameClient" />
                 <ScalarProperty Name="TypeClient" ColumnName="TypeClient" />
+                <ScalarProperty Name="NameClient" ColumnName="NameClient" />
+                <ScalarProperty Name="idClient" ColumnName="idClient" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Discounts">
             <EntityTypeMapping TypeName="gr672_liiModel.Discount">
               <MappingFragment StoreEntitySet="Discount">
-                <ScalarProperty Name="idDiscount" ColumnName="idDiscount" />
-                <ScalarProperty Name="Procent" ColumnName="Procent" />
                 <ScalarProperty Name="idOrder" ColumnName="idOrder" />
+                <ScalarProperty Name="Procent" ColumnName="Procent" />
+                <ScalarProperty Name="idDiscount" ColumnName="idDiscount" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Orders">
             <EntityTypeMapping TypeName="gr672_liiModel.Order">
               <MappingFragment StoreEntitySet="Order">
-                <ScalarProperty Name="idOrder" ColumnName="idOrder" />
-                <ScalarProperty Name="NumberOrder" ColumnName="NumberOrder" />
-                <ScalarProperty Name="ViewOrder" ColumnName="ViewOrder" />
-                <ScalarProperty Name="OrderDate" ColumnName="OrderDate" />
-                <ScalarProperty Name="CostOrder" ColumnName="CostOrder" />
-                <ScalarProperty Name="idClient" ColumnName="idClient" />
-                <ScalarProperty Name="idService" ColumnName="idService" />
-                <ScalarProperty Name="idUser" ColumnName="idUser" />
                 <ScalarProperty Name="idPayment" ColumnName="idPayment" />
+                <ScalarProperty Name="idUser" ColumnName="idUser" />
+                <ScalarProperty Name="idService" ColumnName="idService" />
+                <ScalarProperty Name="idClient" ColumnName="idClient" />
+                <ScalarProperty Name="CostOrder" ColumnName="CostOrder" />
+                <ScalarProperty Name="OrderDate" ColumnName="OrderDate" />
+                <ScalarProperty Name="ViewOrder" ColumnName="ViewOrder" />
+                <ScalarProperty Name="NumberOrder" ColumnName="NumberOrder" />
+                <ScalarProperty Name="idOrder" ColumnName="idOrder" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Payments">
             <EntityTypeMapping TypeName="gr672_liiModel.Payment">
               <MappingFragment StoreEntitySet="Payment">
-                <ScalarProperty Name="idPayment" ColumnName="idPayment" />
-                <ScalarProperty Name="NumberPayment" ColumnName="NumberPayment" />
                 <ScalarProperty Name="DatePayment" ColumnName="DatePayment" />
+                <ScalarProperty Name="NumberPayment" ColumnName="NumberPayment" />
+                <ScalarProperty Name="idPayment" ColumnName="idPayment" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Services">
             <EntityTypeMapping TypeName="gr672_liiModel.Service">
               <MappingFragment StoreEntitySet="Service">
-                <ScalarProperty Name="idService" ColumnName="idService" />
-                <ScalarProperty Name="NameService" ColumnName="NameService" />
-                <ScalarProperty Name="PriceService" ColumnName="PriceService" />
-                <ScalarProperty Name="DescriptionService" ColumnName="DescriptionService" />
                 <ScalarProperty Name="idCategory" ColumnName="idCategory" />
+                <ScalarProperty Name="DescriptionService" ColumnName="DescriptionService" />
+                <ScalarProperty Name="PriceService" ColumnName="PriceService" />
+                <ScalarProperty Name="NameService" ColumnName="NameService" />
+                <ScalarProperty Name="idService" ColumnName="idService" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>
           <EntitySetMapping Name="Users">
             <EntityTypeMapping TypeName="gr672_liiModel.User">
               <MappingFragment StoreEntitySet="User">
-                <ScalarProperty Name="idUser" ColumnName="idUser" />
-                <ScalarProperty Name="Login" ColumnName="Login" />
-                <ScalarProperty Name="Password" ColumnName="Password" />
-                <ScalarProperty Name="LastName" ColumnName="LastName" />
-                <ScalarProperty Name="FirstName" ColumnName="FirstName" />
-                <ScalarProperty Name="MiddleName" ColumnName="MiddleName" />
                 <ScalarProperty Name="ContactNumber" ColumnName="ContactNumber" />
+                <ScalarProperty Name="MiddleName" ColumnName="MiddleName" />
+                <ScalarProperty Name="FirstName" ColumnName="FirstName" />
+                <ScalarProperty Name="LastName" ColumnName="LastName" />
+                <ScalarProperty Name="Password" ColumnName="Password" />
+                <ScalarProperty Name="Login" ColumnName="Login" />
+                <ScalarProperty Name="idUser" ColumnName="idUser" />
               </MappingFragment>
             </EntityTypeMapping>
           </EntitySetMapping>

+ 17 - 16
CopyCenter/DataBase.edmx.diagram

@@ -4,22 +4,23 @@
   <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
     <!-- Diagram content (shape and connector positions) -->
     <edmx:Diagrams>
-      <Diagram DiagramId="305f8f805f074dee85deaf07cf5492c4" Name="Diagram1" ZoomLevel="74">
-        <EntityTypeShape EntityType="gr672_liiModel.Card" Width="1.5" PointX="5.375" PointY="3.125" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.CategoryService" Width="1.5" PointX="1.125" PointY="12.75" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.Client" Width="1.5" PointX="2.875" PointY="6.25" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.Discount" Width="1.5" PointX="12.625" PointY="4.5" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.Order" Width="1.5" PointX="7.5" PointY="6.375" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.Payment" Width="1.5" PointX="8.875" PointY="10.75" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.Service" Width="1.5" PointX="4.25" PointY="12" IsExpanded="true" />
-        <EntityTypeShape EntityType="gr672_liiModel.User" Width="1.5" PointX="13.375" PointY="11.875" IsExpanded="true" />
-        <AssociationConnector Association="gr672_liiModel.FK_Card_Client" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Service_CategoryService" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Order_Client" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Discount_Order" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Order_Payment" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Order_Service" ManuallyRouted="false" />
-        <AssociationConnector Association="gr672_liiModel.FK_Order_User" ManuallyRouted="false" ></AssociationConnector>
+      <Diagram DiagramId="c03ed94988164e86a985d3452b7cd042" Name="Diagram1" ZoomLevel="63">
+        <EntityTypeShape EntityType="gr672_liiModel.Card" Width="1.5" PointX="4.125" PointY="4.875" />
+        <EntityTypeShape EntityType="gr672_liiModel.CategoryService" Width="1.5" PointX="1.25" PointY="13.125" />
+        <EntityTypeShape EntityType="gr672_liiModel.Client" Width="1.5" PointX="1.875" PointY="7.875" />
+        <EntityTypeShape EntityType="gr672_liiModel.Discount" Width="1.5" PointX="13" PointY="4.75" />
+        <EntityTypeShape EntityType="gr672_liiModel.Order" Width="1.5" PointX="8.75" PointY="7" />
+        <EntityTypeShape EntityType="gr672_liiModel.Payment" Width="1.5" PointX="10.25" PointY="11.125" />
+        <EntityTypeShape EntityType="gr672_liiModel.Service" Width="1.5" PointX="4.875" PointY="12.25" />
+        <EntityTypeShape EntityType="gr672_liiModel.User" Width="1.5" PointX="14.5" PointY="12" />
+        <AssociationConnector Association="gr672_liiModel.FK_Card_Client" />
+        <AssociationConnector Association="gr672_liiModel.FK_Service_CategoryService" />
+        <AssociationConnector Association="gr672_liiModel.FK_Order_Client" />
+        <AssociationConnector Association="gr672_liiModel.FK_Discount_Order" />
+        <AssociationConnector Association="gr672_liiModel.FK_Order_Payment" ManuallyRouted="false" >
+        </AssociationConnector>
+        <AssociationConnector Association="gr672_liiModel.FK_Order_Service" />
+        <AssociationConnector Association="gr672_liiModel.FK_Order_User" />
       </Diagram>
     </edmx:Diagrams>
   </edmx:Designer>

+ 5 - 5
CopyCenter/MenuWindow.xaml

@@ -19,12 +19,12 @@
             <Button Content="Заказы" Width="120" Height="30" Margin="5,0,30,35" Background="#FF138DE2" FontSize="14" FontFamily="Century Gothic" Foreground="White" Click="Orders"/>
             <Button Content="Услуги" Width="120" Height="30" Margin="5,0,30,35" Background="#FF138DE2" FontSize="14" FontFamily="Century Gothic" Foreground="White" Click="Service"/>
         </StackPanel>
-        <Button Content="" HorizontalAlignment="Right" Margin="0,5,5,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="41">
-            <Button.Background>
-                <ImageBrush ImageSource="logging-out-2355227_1280.png"/>
-            </Button.Background>
+        <Button HorizontalAlignment="Right" Margin="0,5,5,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="41">
+            <StackPanel>
+                <Image Source ="exit_png_456938.png" Height="40" Width="69"/>
+            </StackPanel>
         </Button>
         <Image Margin="149,55,159,168" Source="7bdd0639f0f150dcbf64d929e4[1].png" Stretch="Fill" RenderTransformOrigin="0.794,0.437"/>
 
     </Grid>
-</Window>
+</Window>

+ 21 - 13
CopyCenter/OrdersWindow.xaml

@@ -7,21 +7,23 @@
         mc:Ignorable="d"
         Title="Заказы" Height="450" Width="800" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
     <Grid>
-        <DataGrid Name="OrdersList" AutoGenerateColumns="False" Margin="0,0,0,189">
+        <DataGrid Name="OrdersList" AutoGenerateColumns="False" Margin="0,0,0,209">
             <DataGrid.Columns>
-                <DataGridTextColumn Header="Номер" Binding="{Binding NumberOrder}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Вид" Binding="{Binding ViewOrder}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Дата" Binding="{Binding OrderDate}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Стоимость" Binding="{Binding CostOrder}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер клиента" Binding="{Binding idClient}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер услуги" Binding="{Binding idService}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер пользователя" Binding="{Binding idUser}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер оплаты" Binding="{Binding idPayment}"></DataGridTextColumn>
+                <DataGridTextColumn Header="ID" Width="0.3*" Binding="{Binding idOrder}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер" Width="1*" Binding="{Binding NumberOrder}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Вид" Width="1*" Binding="{Binding ViewOrder}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Дата" Width="0.9*" Binding="{Binding OrderDate}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Стоимость" Width="*" Binding="{Binding CostOrder}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер клиента" Width="1.1*" Binding="{Binding idClient}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер услуги" Width="*" Binding="{Binding idService}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер пользователя" Width="1.5*" Binding="{Binding idUser}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер оплаты" Width="*" Binding="{Binding idPayment}"></DataGridTextColumn>
             </DataGrid.Columns>
         </DataGrid>
-        <Button Content="Добавить" HorizontalAlignment="Left" Margin="568,316,0,0" VerticalAlignment="Top" Width="100" Height="44" Click="Add" Foreground="White"/>
-        <Button Content="Удалить" HorizontalAlignment="Left" Margin="673,316,0,0" VerticalAlignment="Top" Width="100" Height="44" Click="Delete" Foreground="White"/>
-        <Button Content="Обновить" HorizontalAlignment="Left" Margin="621,360,0,0" VerticalAlignment="Top" Width="100" Height="44" Click="Update" Foreground="White" RenderTransformOrigin="0.46,1.114"/>
+        <Button Content="Добавить" HorizontalAlignment="Left" Margin="568,316,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Add" Foreground="White"/>
+        <Button Content="Удалить" HorizontalAlignment="Left" Margin="673,316,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
+        <Button Content="Обновить" HorizontalAlignment="Left" Margin="592,361,0,0" VerticalAlignment="Top" Width="91" Height="40" Click="Update" Foreground="White" RenderTransformOrigin="0.46,1.114"/>
+        <TextBox Name="ID" HorizontalAlignment="Left" Height="31" Margin="116,215,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
         <TextBox Name="Number" HorizontalAlignment="Left" Height="31" Margin="116,251,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
         <TextBox Name="View" HorizontalAlignment="Left" Height="31" Margin="116,287,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
         <TextBox Name="Date" HorizontalAlignment="Left" Height="31" Margin="116,323,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
@@ -38,11 +40,17 @@
         <TextBlock HorizontalAlignment="Left" Margin="278,359,0,0" TextWrapping="Wrap" Text="Пользователь" VerticalAlignment="Top" Height="31" Width="94"/>
         <TextBlock HorizontalAlignment="Left" Margin="278,325,0,0" TextWrapping="Wrap" Text="Услуга" VerticalAlignment="Top" Height="31" Width="94"/>
         <TextBlock HorizontalAlignment="Left" Margin="278,287,0,0" TextWrapping="Wrap" Text="Оплата" VerticalAlignment="Top" Height="31" Width="94"/>
-        <TextBox Name="Search" HorizontalAlignment="Left" Height="45" Margin="568,251,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="153"/>
+        <TextBox Name="Search" HorizontalAlignment="Left" Height="45" Margin="568,251,0,0" TextChanged="Search_TextChanged" VerticalAlignment="Top" Width="153"/>
         <Button HorizontalAlignment="Left" Margin="726,251,0,0" VerticalAlignment="Top" Width="45" Height="44">
             <StackPanel>
                 <Image Source ="orig.png" Height="46" Width="69"/>
             </StackPanel>
         </Button>
+        <Button HorizontalAlignment="Right" Margin="0,361,50,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
+            <StackPanel>
+                <Image Source ="edit_redo.png" Height="40" Width="69"/>
+            </StackPanel>
+        </Button>
+        <TextBlock HorizontalAlignment="Left" Margin="10,220,0,0" TextWrapping="Wrap" Text="ID" VerticalAlignment="Top" Height="31" Width="94"/>
     </Grid>
 </Window>

+ 37 - 11
CopyCenter/OrdersWindow.xaml.cs

@@ -24,6 +24,7 @@ namespace CopyCenter
         public OrdersWindow()
         {
             InitializeComponent();
+            ShowOrder();
             db = new gr672_liiEntities();
             comboBox1.ItemsSource = db.Services.ToList();
             comboBox1.DisplayMemberPath = "NameService";
@@ -52,6 +53,11 @@ namespace CopyCenter
 
         private void Add(object sender, RoutedEventArgs e)
         {
+            if (Number.Text == "" || View.Text == "" || Date.Text == "" || Price.Text == "" || comboBox2.SelectedValue.ToString() == "" || comboBox1.SelectedValue.ToString() == "" || comboBox4.SelectedValue.ToString() == "" || comboBox3.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
             Order order = new Order();
             order.NumberOrder = Convert.ToInt32(Number.Text);
             order.ViewOrder = View.Text;
@@ -63,25 +69,34 @@ namespace CopyCenter
             order.idPayment = Convert.ToInt32(comboBox3.SelectedValue.ToString());
             db.Orders.Add(order);
             db.SaveChanges();
+            MessageBox.Show("Успешно зарегистрирован заказ");
             OrdersList.ItemsSource = db.Orders.ToList();
 
         }
 
         private void Delete(object sender, RoutedEventArgs e)
         {
-            Order dRow = new Order();
-            int num = Convert.ToInt32(Number.Text);
-            dRow = db.Orders.Where(w => w.NumberOrder == num).FirstOrDefault();
-            db.Orders.Remove(dRow);
-            db.SaveChanges();
-            OrdersList.ItemsSource = db.Clients.ToList();
+            var result = MessageBox.Show("Вы точно хотите удалить заказ?", "Подтверждение", MessageBoxButton.YesNo, MessageBoxImage.Question);
+            if (result == MessageBoxResult.Yes)
+            {
+                Order order = (Order)OrdersList.SelectedItem;
+                db.Orders.Remove(order);
+                db.SaveChanges();
+                MessageBox.Show("Успешно удалён заказ");
+                OrdersList.ItemsSource = db.Services.ToList();
+            }
         }
 
         private void Update(object sender, RoutedEventArgs e)
         {
-            Order uRow = new Order();
-            int num = Convert.ToInt32(Number.Text);
-            uRow = db.Orders.Where(w => w.NumberOrder == num).FirstOrDefault();
+            if (Number.Text == "" || View.Text == "" || Date.Text == "" || Price.Text == "" || comboBox2.SelectedValue.ToString() == "" || comboBox1.SelectedValue.ToString() == "" || comboBox4.SelectedValue.ToString() == "" || comboBox3.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+            int num = 0;
+            int.TryParse(ID.Text, out num);
+            var uRow = db.Orders.Where(w => w.idOrder == num).FirstOrDefault();
             uRow.NumberOrder = Convert.ToInt32(Number.Text);
             uRow.ViewOrder = View.Text;
             uRow.OrderDate = Convert.ToDateTime(Date.Text);
@@ -91,6 +106,7 @@ namespace CopyCenter
             uRow.idUser = Convert.ToInt32(comboBox4.SelectedValue.ToString());
             uRow.idPayment = Convert.ToInt32(comboBox3.SelectedValue.ToString());
             db.SaveChanges();
+            MessageBox.Show("Успешно отредактировано поле");
             OrdersList.ItemsSource = db.Orders.ToList();
         }
 
@@ -100,9 +116,19 @@ namespace CopyCenter
             OrdersList.ItemsSource = db.Orders.ToList();
         }
 
-        private readonly CollectionViewSource viewSource = new CollectionViewSource();
-        viewSource.Source = list;
+        public void ShowOrder()
+        {
+            //int num = 0;
+            //int.TryParse(ID.Text, out num);
+            //var SelectOrders = db.Orders.Where(item => item.idOrder == num && (item.NumberOrder + " " + item.ViewOrder + " " + item.OrderDate + " " + item.idClient + " " + item.idService + " " + item.idUser + " " + item.idPayment).Contains(Search.Text));
+            //OrdersList.ItemsSource = SelectOrders.ToList();
+
+        }
 
+        private void Search_TextChanged(object sender, TextChangedEventArgs e)
+        {
+            //ShowOrder();
+        }
 
     }
 }

+ 1 - 1
CopyCenter/RegistrationWindow.xaml.cs

@@ -28,7 +28,7 @@ namespace CopyCenter
 
         private void Registration_Click(object sender, RoutedEventArgs e)
         {
-            if (login.Text == "" || password.Password == "" || lastname.Text == "" || firstname.Text == "" || middlename.Text == "" || contactnumber.Text == "")
+            if (login.Text == "" || password.Password == "" || lastname.Text == "" || firstname.Text == "" || contactnumber.Text == "")
             {
                MessageBox.Show("Введено неверное значение");
                return;

+ 1 - 1
CopyCenter/Service.cs

@@ -22,7 +22,7 @@ namespace CopyCenter
     
         public int idService { get; set; }
         public string NameService { get; set; }
-        public decimal PriceService { get; set; }
+        public int PriceService { get; set; }
         public string DescriptionService { get; set; }
         public int idCategory { get; set; }
     

+ 23 - 20
CopyCenter/ServicesWindow.xaml

@@ -7,30 +7,33 @@
         mc:Ignorable="d"
         Title="Услуги" Height="450" Width="800" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
     <Grid>
-        <DataGrid Name="ServicesList" AutoGenerateColumns="False" Margin="0,0,465,262">
+        <DataGrid Name="ServicesList" AutoGenerateColumns="False" Margin="0,0,0,138">
             <DataGrid.Columns>
-                <DataGridTextColumn Header="Наименование" Binding="{Binding NameService}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Стоимость" Binding="{Binding PriceService}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Описание" Binding="{Binding DescriptionService}"></DataGridTextColumn>
-                <DataGridTextColumn Header="Номер услуги" Binding="{Binding idCategory}"></DataGridTextColumn>
+                <DataGridTextColumn Header="ID" Width="*" Binding="{Binding idService}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Наименование" Width="*" Binding="{Binding NameService}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Стоимость" Width="*" Binding="{Binding PriceService}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Описание" Width="*" Binding="{Binding DescriptionService}"></DataGridTextColumn>
+                <DataGridTextColumn Header="Номер услуги" Width="*" Binding="{Binding idCategory}"></DataGridTextColumn>
             </DataGrid.Columns>
         </DataGrid>
-        <Button Content="" HorizontalAlignment="Right" Margin="0,369,10,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
-            <Button.Background>
-                <ImageBrush ImageSource="edit_redo.png"/>
-            </Button.Background>
+        <Button HorizontalAlignment="Right" Margin="0,370,44,0" VerticalAlignment="Top" Width="45" Click="Exit_Click" Height="40">
+            <StackPanel>
+                <Image Source ="edit_redo.png" Height="40" Width="69"/>
+            </StackPanel>
         </Button>
-        <Button Content="Добавить" HorizontalAlignment="Left" Margin="385,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Button_Click" Foreground="White"/>
-        <Button Content="Удалить" HorizontalAlignment="Left" Margin="503,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
-        <Button Content="Обновить" HorizontalAlignment="Left" Margin="622,369,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Update" Foreground="White"/>
-        <TextBox Name="Name" HorizontalAlignment="Left" Height="40" Margin="576,27,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
-        <TextBox Name="Price" HorizontalAlignment="Left" Height="40" Margin="576,117,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
-        <TextBox Name="Description" HorizontalAlignment="Left" Height="40" Margin="576,72,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="100"/>
-        <TextBlock HorizontalAlignment="Left" Margin="437,27,0,0" TextWrapping="Wrap" Text="Наименование" VerticalAlignment="Top" Height="40" Width="101"/>
-        <TextBlock HorizontalAlignment="Left" Margin="437,117,0,0" TextWrapping="Wrap" Text="Стоимость" VerticalAlignment="Top" Height="40" Width="101"/>
-        <TextBlock HorizontalAlignment="Left" Margin="437,72,0,0" TextWrapping="Wrap" Text="Описание" VerticalAlignment="Top" Height="40" Width="101"/>
-        <TextBlock HorizontalAlignment="Left" Margin="437,167,0,0" TextWrapping="Wrap" Text="Номер услуги" VerticalAlignment="Top" Height="40" Width="101"/>
-        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="576,167,0,0" VerticalAlignment="Top" Width="115" Height="31"/>
+        <Button Content="Добавить" HorizontalAlignment="Left" Margin="570,330,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Button_Click" Foreground="White"/>
+        <Button Content="Удалить" HorizontalAlignment="Left" Margin="675,329,0,0" VerticalAlignment="Top" Width="100" Height="40" Click="Delete" Foreground="White"/>
+        <Button Content="Обновить" HorizontalAlignment="Left" Margin="598,370,0,0" VerticalAlignment="Top" Width="91" Height="40" Click="Update" Foreground="White"/>
+        <TextBox Name="Name" HorizontalAlignment="Left" Height="31" Margin="116,333,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBox Name="Price" HorizontalAlignment="Left" Height="31" Margin="393,333,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBox Name="Description" HorizontalAlignment="Left" Height="31" Margin="116,369,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBlock HorizontalAlignment="Left" Margin="10,333,0,0" TextWrapping="Wrap" Text="Наименование" VerticalAlignment="Top" Height="40" Width="101"/>
+        <TextBlock HorizontalAlignment="Left" Margin="10,369,0,0" TextWrapping="Wrap" Text="Стоимость" VerticalAlignment="Top" Height="40" Width="101"/>
+        <TextBlock HorizontalAlignment="Left" Margin="292,333,0,0" TextWrapping="Wrap" Text="Описание" VerticalAlignment="Top" Height="40" Width="101"/>
+        <TextBlock HorizontalAlignment="Left" Margin="292,365,0,0" TextWrapping="Wrap" Text="Номер услуги" VerticalAlignment="Top" Height="40" Width="101"/>
+        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="393,369,0,0" VerticalAlignment="Top" Width="146" Height="31"/>
+        <TextBox Name="ID" HorizontalAlignment="Left" Height="31" Margin="116,297,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="146"/>
+        <TextBlock Margin="10,297,688,0" TextWrapping="Wrap" Text="ID" VerticalAlignment="Top" Height="31" Width="94"/>
 
     </Grid>
 </Window>

+ 34 - 11
CopyCenter/ServicesWindow.xaml.cs

@@ -38,25 +38,43 @@ namespace CopyCenter
 
         private void Button_Click(object sender, RoutedEventArgs e)
         {
+            if (Name.Text == "" || Price.Text == "" || Description.Text == "" || comboBox1.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+            
             Service service = new Service();
-            service.NameService = Name.Text;            
-            service.PriceService = Convert.ToInt32(Price.Text);
+            int price = 0;
+            int.TryParse(Price.Text,out price);
+            service.NameService = Name.Text;
+            service.PriceService = price;
             service.DescriptionService = Description.Text;
             service.idCategory = Convert.ToInt32(comboBox1.SelectedValue.ToString());
             db.Services.Add(service);
             db.SaveChanges();
+            MessageBox.Show("Успешно добавлена услуга");
             ServicesList.ItemsSource = db.Services.ToList();
         }
 
         private void Update(object sender, RoutedEventArgs e)
         {
-            Service uRow = new Service();
-            uRow = db.Services.Where(w => w.NameService == Name.Text).FirstOrDefault();
+            if (Name.Text == "" || Price.Text == "" || Description.Text == "" || comboBox1.SelectedValue.ToString() == "")
+            {
+                MessageBox.Show("Введено неверное значение");
+                return;
+            }
+            int price;
+            int.TryParse(Price.Text, out price);
+            int num;
+            int.TryParse(ID.Text, out num);
+            var uRow = db.Services.Where(w => w.idService == num).FirstOrDefault();
             uRow.NameService = Name.Text;
-            uRow.PriceService = Convert.ToInt32(Price.Text);
+            uRow.PriceService = price;
             uRow.DescriptionService = Description.Text;
             uRow.idCategory = Convert.ToInt32(comboBox1.SelectedValue.ToString());
             db.SaveChanges();
+            MessageBox.Show("Успешно удалена услуга");
             ServicesList.ItemsSource = db.Services.ToList();
         }
         private void Window_Loaded(object sender, RoutedEventArgs e)
@@ -66,12 +84,17 @@ namespace CopyCenter
         }
 
         private void Delete(object sender, RoutedEventArgs e)
-        {
-            Service dRow = new Service();
-            dRow = db.Services.Where(w => w.NameService == Name.Text).FirstOrDefault();
-            db.Services.Remove(dRow);
-            db.SaveChanges();
-            ServicesList.ItemsSource = db.Services.ToList();
+        {    
+            var result = MessageBox.Show("Вы точно хотите удалить услугу?", "Подтверждение", MessageBoxButton.YesNo, MessageBoxImage.Question);
+            if (result==MessageBoxResult.Yes)
+            {
+                Service service = (Service)ServicesList.SelectedItem;
+                db.Services.Remove(service);
+                db.SaveChanges();
+                MessageBox.Show("Успешно отредактировано поле");
+                ServicesList.ItemsSource = db.Services.ToList();
+            }          
+           
         }
     }
 }

BIN
CopyCenter/agreement-icon[1].png


BIN
CopyCenter/iX50TBV07.jpg