using Microsoft.Win32; using System; using System.Collections.Generic; using System.IO; 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 { /// /// Логика взаимодействия для StaffChangeOrAddPage.xaml /// public partial class StaffChangeOrAddPage : Page { public byte[] cotractImage; public string FilePath; public Staff _staff; public StaffChangeOrAddPage(Staff staff) { InitializeComponent(); DataContext = staff; _staff = staff; if (DataContext != null) { SStaffRole.Text = staff.ToString(); StaffChangeOrAddBtn.Content = "Изменить данные"; this.Title = "Информация о сотруднике"; } else { StaffChangeOrAddBtn.Content = "Добавить сотрудника"; this.Title = "Окно добавления сотрудника"; } SStaffRole.ItemsSource = DataBase.db.StaffRole.ToList(); if (staff == null || staff.PhotoContract == null) { SContractPhoto.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/no_picture.jpg")); } } private void StaffChangeOrAddBtn_Click(object sender, RoutedEventArgs e) { var existUser = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text); if (existUser != null && DataContext == null) { MessageBox.Show("Такой логин уже имеется в базе данных"); return; } else if (SLName.Text == null || SFName.Text == null || SLogin.Text == null || SPassword.Text == null || SContractPhoto == null) { MessageBox.Show("Ключевые поля не были заполнены"); return; } else { if( DataContext == null) { int numRole = DataBase.db.StaffRole.SingleOrDefault(item => item.Name == SStaffRole.Text).Id; Staff staff = new Staff() { LName = SLName.Text, FName = SFName.Text, MName = SMName.Text, Login = SLogin.Text, Password = SPassword.Text, Id_StaffRole = numRole, PhotoContract = cotractImage, Id_PersStatus = 1 }; DataBase.db.Staff.Add(staff); var lastId = DataBase.db.Staff.OrderByDescending(item => item.Id).FirstOrDefault().Id; DataBase.db.SaveChanges(); } else { } } } private void StaffDeleteOrRestoreBtn_Click(object sender, RoutedEventArgs e) { } private void SContractPhoto_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)); SContractPhoto.Source = bitimage; cotractImage = SomeMethods.ConvertBitmapImageToByte(bitimage); } else { FilePath = string.Empty; } } } }