123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- 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
- {
- /// <summary>
- /// Логика взаимодействия для StaffChangeOrAddPage.xaml
- /// </summary>
- public partial class StaffChangeOrAddPage : Page
- {
- public byte[] cotractImage;
- public string FilePath;
- public Staff _staff;
- public int IdStaff = 0;
- public StaffChangeOrAddPage(Staff staff)
- {
- InitializeComponent();
- DataContext = staff;
- _staff = staff;
- SStaffRole.ItemsSource = DataBase.db.StaffRole.ToList();
- if (DataContext != null)
- {
- SStaffRole.Text = staff.ToString();
- StaffChangeOrAddBtn.Content = "Изменить данные";
- this.Title = "Информация о сотруднике";
- IdStaff = staff.Id;
- StaffDeleteOrRestoreBtn.Visibility = Visibility.Visible;
- if (staff.Id_PersStatus == 1)
- {
- StaffDeleteOrRestoreBtn.Content = "Удалить сотрудника";
- }
- else
- {
- StaffDeleteOrRestoreBtn.Content = "Востановить сотрудника";
- }
- }
- else
- {
- StaffChangeOrAddBtn.Content = "Добавить сотрудника";
- this.Title = "Окно добавления сотрудника";
- StaffDeleteOrRestoreBtn.Visibility = Visibility.Collapsed;
- }
-
- 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)
- {
- if (DataContext == null)
- {
- var existUser = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text);
- if (existUser != null && DataContext == null)
- {
- MessageBox.Show("Такой логин уже имеется в базе данных!");
- return;
- }
- }
- if (SLName.Text == null || SFName.Text == null || SLogin.Text == null || SPassword.Text == null)
- {
- MessageBox.Show("Ключевые поля не были заполнены!");
- return;
- }
- else
- {
- var existUserS = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text && item.Id != IdStaff);
- if (existUserS != 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();
- MessageBox.Show("Сотрудник добавлен в базу.");
- }
- else
- {
- MessageBox.Show("Данные по сотрудинку изменены.");
- _staff.PhotoContract = cotractImage;
- DataBase.db.SaveChanges();
- }
- PChanger.MainFrame.GoBack();
- }
- }
- private void StaffDeleteOrRestoreBtn_Click(object sender, RoutedEventArgs e)
- {
- if (_staff.Id_PersStatus == 1)
- {
- _staff.Id_PersStatus = 2;
- MessageBox.Show("Статус пользователя изменился на <удалён>");
- }
- else
- {
- _staff.Id_PersStatus = 1;
- MessageBox.Show("Статус пользователя восстановлен");
- }
- DataBase.db.SaveChanges();
- PChanger.MainFrame.GoBack();
- }
- 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;
- }
- }
- }
- }
|