using Microsoft.Win32; 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 Test { /// /// Логика взаимодействия для WindowDob.xaml /// public partial class WindowDob : Window { string imgnew = ""; //строка для пути нового изображения public WindowDob() { InitializeComponent(); CB2.ItemsSource = Base.Ent.MaterialType.Where(x => x.ID < 5).ToList(); CB2.SelectedValue = "ID"; CB2.DisplayMemberPath = "Title"; } private void Button_Click(object sender, RoutedEventArgs e) { try { OpenFileDialog openFileDialog = new OpenFileDialog();//открывает окно проводника для выбора openFileDialog.DefaultExt = ".jpg"; //ставим, что по умолчанию отбираются только данные jpg openFileDialog.Filter = "Изображения |*.jpg;*.png"; //добавляем разрешение еще на png var result = openFileDialog.ShowDialog(); //записываем результат работы окна if (result == true) //если что-то было выбрано { imgnew = openFileDialog.FileName; //запоминаем пусть картинки img.Source = BitmapFrame.Create(new Uri(imgnew)); //отрисовываем ее на странице } } catch { MessageBox.Show("Выбран неверный файл"); } } private void Button_Click_1(object sender, RoutedEventArgs e) { try { if (Convert.ToInt32(MinCount.Text) > 0 && Convert.ToInt32(Cost.Text) > 0) //проверка по условию, что они должны быть больше 0 { string str = Cost.Text.Replace(".", ",");//меняем точку на запятую Material materialAdd = new Material() //создаем новый экземпляр материала { Title = Title.Text, //кладем в него все значения из тектовых полей старницы MaterialTypeID = CB2.SelectedIndex + 1, //не забываем про то, что с 0 CountInStock = Convert.ToInt32(CountInStock.Text), Unit = Unit.Text, CountInPack = Convert.ToInt32(CountInPack.Text), MinCount = Convert.ToInt32(MinCount.Text), Cost = Math.Round(Convert.ToDecimal(str), 2), //делаем ркругление до сотых по условию из задания Image = imgnew, Description = Description.Text, }; Base.Ent.Material.Add(materialAdd); //делаем добавление Base.Ent.SaveChanges(); //сохраняем изменения в базе Base.Ent = new ТестовыйТестТестовичEntities(); //обновляем Entitis ClassNavigate.Tyomich.Navigate(new Page1()); //обновляем страничку, чтоб сразу появились данные } else { throw new Exception("Минимальное количесво и стоимость не могут быть отрицательными"); } this.Close(); //закрываем окно } catch (Exception message) { MessageBox.Show("Ошибка данных" + message); } } } }