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.Navigation; using System.Windows.Shapes; namespace Hotel_Course_Project { /// /// Логика взаимодействия для ClientChangeOrAddPage.xaml /// public partial class ClientChangeOrAddPage : Page { public Client _client; public int idClient; public byte[] PassportImage; public string FilePath; public ClientChangeOrAddPage(Client client) { InitializeComponent(); DataContext = client; _client = client; if (DataContext != null) { ClientChangeOrAddBtn.Content = "Изменить данные"; this.Title = "Информация о клиенте"; idClient = client.Id; ClientDeleteOrRestoreBtn.Visibility = Visibility.Visible; if (client.Id_PersStatus == 1) { ClientDeleteOrRestoreBtn.Content = "Удалить клиента"; } else { ClientDeleteOrRestoreBtn.Content = "Востановить клиента"; } } else { ClientChangeOrAddBtn.Content = "Добавить клиента"; this.Title = "Окно добавления клиента"; ClientDeleteOrRestoreBtn.Visibility = Visibility.Collapsed; } if (client == null || client.Passport == null) { CPassportPhoto.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/PersDefaultPhoto.png")); } } private void ClientChangeOrAddBtn_Click(object sender, RoutedEventArgs e) { if (DataContext == null) { } if (CLName.Text == null || CFName.Text == null) { MessageBox.Show("Ключевые поля не были заполнены!"); return; } else if (CPassportPhoto == null) { MessageBox.Show("Фотография паспорта не была загружена!"); return; } else { if (DataContext == null) { Client client = new Client() { LName = CLName.Text, FName = CFName.Text, MName = CMName.Text, Passport = PassportImage, Id_PersStatus = 1 }; DataBase.db.Client.Add(client); var lastId = DataBase.db.Client.OrderByDescending(item => item.Id).FirstOrDefault().Id; DataBase.db.SaveChanges(); MessageBox.Show("Клиент добавлен в базу."); } else { MessageBox.Show("Данные по клиенту изменены."); _client.Passport = PassportImage; DataBase.db.SaveChanges(); } PChanger.MainFrame.GoBack(); } } private void ClientDeleteOrRestoreBtn_Click(object sender, RoutedEventArgs e) { if (_client.Id_PersStatus == 1) { _client.Id_PersStatus = 2; MessageBox.Show("Статус пользователя изменился на <удалён>"); } else { _client.Id_PersStatus = 1; MessageBox.Show("Статус пользователя восстановлен"); } DataBase.db.SaveChanges(); PChanger.MainFrame.GoBack(); } private void CPassportPhoto_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == true) { FilePath = openFileDialog.FileName; string uriString = $"{FilePath}"; BitmapImage bitimage = new BitmapImage(new Uri(@uriString)); CPassportPhoto.Source = bitimage; PassportImage = SomeMethods.ConvertBitmapImageToByte(bitimage); } else { FilePath = string.Empty; } } } }