lizka.flex@outlook.com před 2 roky
rodič
revize
20700c797e
4 změnil soubory, kde provedl 32 přidání a 13 odebrání
  1. 1 3
      Muzzle/Add.xaml.cs
  2. 3 2
      Muzzle/Pages/Main.xaml.cs
  3. 2 2
      Muzzle/Update.xaml
  4. 26 6
      Muzzle/Update.xaml.cs

+ 1 - 3
Muzzle/Add.xaml.cs

@@ -43,13 +43,11 @@ namespace Muzzle
         private void btnDob_Click(object sender, RoutedEventArgs e)
         {
      
-            BaseConnect.baseConnect.SaveChanges();//сонхронизировать с сервером
+            BaseConnect.baseConnect.SaveChanges(); //Синхронизировать с сервером
             //создаем запись в таблице Users, соответствующую данной                 
             Product data = new Product();
             data.ArticleNumber = Art.Text;
             data.Title = Title.Text;
-            //data.dr = dateBirth.SelectedDate.Value;
-            //data.gender = (int)listGenders.SelectedValue;
             BaseConnect.baseConnect.Product.Add(data);
             BaseConnect.baseConnect.SaveChanges();
             MessageBox.Show("Данные записаны успешно");//обратная связь с пользователем

+ 3 - 2
Muzzle/Pages/Main.xaml.cs

@@ -34,7 +34,6 @@ namespace Muzzle
 
             //Сравнивает ID и заносит в одну строку все материалы, которые относятся к этому продукту
             int productID = (int)textBlock.Tag;
-            idProduct = productID;
             List<ProductMaterial> materials = BaseConnect.baseConnect.ProductMaterial.Where(x => x.ProductID == productID).ToList(); 
             string str = "";
             foreach (ProductMaterial pm in materials)
@@ -135,7 +134,9 @@ namespace Muzzle
 
         private void btnIzmena_CLick(object sender, RoutedEventArgs e)
         {
-            Update update = new Update((int)textBlock.Tag);
+            Button button = (Button)sender; //прописываем, чтобы понять чей тег берем
+            int productID = (int)button.Tag; //берем тег(id продукта)
+            Update update = new Update(productID); //передаем тег
             update.ShowDialog();
         }
     }       

+ 2 - 2
Muzzle/Update.xaml

@@ -18,7 +18,7 @@
             </StackPanel>
             <StackPanel Orientation = "Horizontal" >
                 <Label Content="Тип продукта"/>
-                <ComboBox x:Name="TipeProduct" Width = "150" Height="25" >
+                <ComboBox x:Name="TypeProduct" Width = "150" Height="25" >
                     <ComboBox.Background>
                         <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                             <GradientStop Color="#FFF0F0F0" Offset="0"/>
@@ -48,7 +48,7 @@
                 <TextBox x:Name="Opis" Width = "300" Height="100"/>
             </StackPanel>
             <StackPanel Orientation="Vertical">
-                <Button x:Name="btnDob" Content="Готово" Width="100" Height="20" HorizontalAlignment="Left" Margin="10,10,0,10" Background="White" BorderBrush="#FFFDBD40"/>
+                <Button x:Name="btnDob" Content="Готово" Width="100" Height="20" HorizontalAlignment="Left" Margin="10,10,0,10" Background="White" BorderBrush="#FFFDBD40" Click="btnDob_Click"/>
                 <Button x:Name="btnNaz" Content="Назад" Width="100" Height="20" HorizontalAlignment="Left" Margin="10,0,0,0" Click="btnNaz_Click" Background="White" BorderBrush="#FFFDBD40"/>
             </StackPanel>
         </StackPanel>

+ 26 - 6
Muzzle/Update.xaml.cs

@@ -1,4 +1,5 @@
 using Muzzle.Class;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Windows;
@@ -11,6 +12,8 @@ namespace Muzzle
     /// </summary>
     public partial class Update : Window
     {
+
+        Product products; //сделали глоубальную переменную с выводом записей, чтобы использовать ее для изменений
         public static class Products
         {
             public static Frame frm;
@@ -18,17 +21,17 @@ namespace Muzzle
         public Update(int idProduct)
         {
             InitializeComponent();
-            Product products = BaseConnect.baseConnect.Product.FirstOrDefault(x => x.ID == idProduct); //Изменили Where на FirstOrDefault для того, чтобы выбирать не все записи из таблицы, а конкретный продукт
+            products = BaseConnect.baseConnect.Product.FirstOrDefault(x => x.ID == idProduct); //Изменили Where на FirstOrDefault для того, чтобы выбирать не все записи из таблицы, а конкретный продукт
             List<ProductType> productsType = BaseConnect.baseConnect.ProductType.ToList();
             Art.Text = products.ArticleNumber; //Считывание пОля из таблицы (вывод данных в поле в макете) 
             Title.Text = products.Title;
-            TipeProduct.ItemsSource = BaseConnect.baseConnect.ProductType.ToList();//создали лист с типами продуктов
+            TypeProduct.ItemsSource = BaseConnect.baseConnect.ProductType.ToList();//создали лист с типами продуктов
 
-            TipeProduct.DisplayMemberPath = "Title";// 
-            TipeProduct.SelectedValuePath = "ID";
-            TipeProduct.SelectedValue = products.ProductTypeID;//вывод на ComboBox название типа продукта который выбран
+            TypeProduct.DisplayMemberPath = "Title";
+            TypeProduct.SelectedValuePath = "ID";
+            TypeProduct.SelectedValue = products.ProductTypeID;//вывод на ComboBox название типа продукта который выбран
 
-            Kol.Text = products.ProductionPersonCount.ToString();
+            Kol.Text = products.ProductionPersonCount.ToString(); //вывод данных
             Number.Text = products.ProductionWorkshopNumber.ToString();
             CostMin.Text = products.MinCostForAgent.ToString();
             Opis.Text = products.Description;
@@ -37,5 +40,22 @@ namespace Muzzle
         {
             this.Close();
         }
+
+        private void btnDob_Click(object sender, RoutedEventArgs e)
+        {
+            products.ArticleNumber = Art.Text;
+            products.Title = Title.Text;
+            TypeProduct.DisplayMemberPath = "Title";
+            TypeProduct.SelectedValuePath = "ID";
+            products.ProductTypeID = (int)TypeProduct.SelectedValue;
+            products.ProductionPersonCount = Convert.ToInt32(Kol.Text); //конвертация в int
+            products.ProductionWorkshopNumber = Convert.ToInt32(Number.Text);
+            products.MinCostForAgent = Convert.ToInt32(CostMin);
+            products.Description = Opis.Text;
+
+            //изменяемая строка
+            BaseConnect.baseConnect.SaveChanges(); //изменить(сохранить) строку в базе данных
+            
+        }
     }
 }