Update.xaml.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using Muzzle.Class;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Windows;
  6. using System.Windows.Controls;
  7. namespace Muzzle
  8. {
  9. /// <summary>
  10. /// Логика взаимодействия для Update.xaml
  11. /// </summary>
  12. public partial class Update : Window
  13. {
  14. Product products; //сделали глоубальную переменную с выводом записей, чтобы использовать ее для изменений
  15. public static class Products
  16. {
  17. public static Frame frm;
  18. }
  19. public Update(int idProduct)
  20. {
  21. InitializeComponent();
  22. products = BaseConnect.baseConnect.Product.FirstOrDefault(x => x.ID == idProduct); //Изменили Where на FirstOrDefault для того, чтобы выбирать не все записи из таблицы, а конкретный продукт
  23. List<ProductType> productsType = BaseConnect.baseConnect.ProductType.ToList();
  24. Art.Text = products.ArticleNumber; //Считывание пОля из таблицы (вывод данных в поле в макете)
  25. Title.Text = products.Title;
  26. TypeProduct.ItemsSource = BaseConnect.baseConnect.ProductType.ToList();//создали лист с типами продуктов
  27. TypeProduct.DisplayMemberPath = "Title";
  28. TypeProduct.SelectedValuePath = "ID";
  29. TypeProduct.SelectedValue = products.ProductTypeID;//вывод на ComboBox название типа продукта который выбран
  30. Kol.Text = products.ProductionPersonCount.ToString(); //вывод данных
  31. Number.Text = products.ProductionWorkshopNumber.ToString();
  32. CostMin.Text = products.MinCostForAgent.ToString();
  33. Opis.Text = products.Description;
  34. }
  35. private void btnNaz_Click(object sender, RoutedEventArgs e)
  36. {
  37. this.Close();
  38. }
  39. private void btnDob_Click(object sender, RoutedEventArgs e)
  40. {
  41. products.ArticleNumber = Art.Text;
  42. products.Title = Title.Text;
  43. TypeProduct.DisplayMemberPath = "Title";
  44. TypeProduct.SelectedValuePath = "ID";
  45. products.ProductTypeID = (int)TypeProduct.SelectedValue;
  46. products.ProductionPersonCount = Convert.ToInt32(Kol.Text); //конвертация в int
  47. products.ProductionWorkshopNumber = Convert.ToInt32(Number.Text);
  48. products.MinCostForAgent = Convert.ToInt32(CostMin);
  49. products.Description = Opis.Text;
  50. //изменяемая строка
  51. BaseConnect.baseConnect.SaveChanges(); //изменить(сохранить) строку в базе данных
  52. }
  53. }
  54. }