WindowDob.xaml.cs 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using Microsoft.Win32;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. namespace Test
  16. {
  17. /// <summary>
  18. /// Логика взаимодействия для WindowDob.xaml
  19. /// </summary>
  20. public partial class WindowDob : Window
  21. {
  22. string imgnew = ""; //строка для пути нового изображения
  23. public WindowDob()
  24. {
  25. InitializeComponent();
  26. CB2.ItemsSource = Base.Ent.MaterialType.Where(x => x.ID < 5).ToList();
  27. CB2.SelectedValue = "ID";
  28. CB2.DisplayMemberPath = "Title";
  29. }
  30. private void Button_Click(object sender, RoutedEventArgs e)
  31. {
  32. try
  33. {
  34. OpenFileDialog openFileDialog = new OpenFileDialog();//открывает окно проводника для выбора
  35. openFileDialog.DefaultExt = ".jpg"; //ставим, что по умолчанию отбираются только данные jpg
  36. openFileDialog.Filter = "Изображения |*.jpg;*.png"; //добавляем разрешение еще на png
  37. var result = openFileDialog.ShowDialog(); //записываем результат работы окна
  38. if (result == true) //если что-то было выбрано
  39. {
  40. imgnew = openFileDialog.FileName; //запоминаем пусть картинки
  41. img.Source = BitmapFrame.Create(new Uri(imgnew)); //отрисовываем ее на странице
  42. }
  43. }
  44. catch
  45. {
  46. MessageBox.Show("Выбран неверный файл");
  47. }
  48. }
  49. private void Button_Click_1(object sender, RoutedEventArgs e)
  50. {
  51. try
  52. {
  53. if (Convert.ToInt32(MinCount.Text) > 0 && Convert.ToInt32(Cost.Text) > 0) //проверка по условию, что они должны быть больше 0
  54. {
  55. string str = Cost.Text.Replace(".", ",");//меняем точку на запятую
  56. Material materialAdd = new Material() //создаем новый экземпляр материала
  57. {
  58. Title = Title.Text, //кладем в него все значения из тектовых полей старницы
  59. MaterialTypeID = CB2.SelectedIndex + 1, //не забываем про то, что с 0
  60. CountInStock = Convert.ToInt32(CountInStock.Text),
  61. Unit = Unit.Text,
  62. CountInPack = Convert.ToInt32(CountInPack.Text),
  63. MinCount = Convert.ToInt32(MinCount.Text),
  64. Cost = Math.Round(Convert.ToDecimal(str), 2), //делаем ркругление до сотых по условию из задания
  65. Image = imgnew,
  66. Description = Description.Text,
  67. };
  68. Base.Ent.Material.Add(materialAdd); //делаем добавление
  69. Base.Ent.SaveChanges(); //сохраняем изменения в базе
  70. Base.Ent = new ТестовыйТестТестовичEntities(); //обновляем Entitis
  71. ClassNavigate.Tyomich.Navigate(new Page1()); //обновляем страничку, чтоб сразу появились данные
  72. }
  73. else
  74. {
  75. throw new Exception("Минимальное количесво и стоимость не могут быть отрицательными");
  76. }
  77. this.Close(); //закрываем окно
  78. }
  79. catch (Exception message)
  80. {
  81. MessageBox.Show("Ошибка данных" + message);
  82. }
  83. }
  84. }
  85. }