|
@@ -13,7 +13,7 @@ namespace Hotel_Course_Project
|
|
/// </summary>
|
|
/// </summary>
|
|
public partial class StaffChangeOrAddPage : Page
|
|
public partial class StaffChangeOrAddPage : Page
|
|
{
|
|
{
|
|
- public byte[] cotractImage;
|
|
|
|
|
|
+ public byte[] contractImage;
|
|
public string FilePath;
|
|
public string FilePath;
|
|
public Staff _staff;
|
|
public Staff _staff;
|
|
public int IdStaff = 0;
|
|
public int IdStaff = 0;
|
|
@@ -46,65 +46,97 @@ namespace Hotel_Course_Project
|
|
StaffDeleteOrRestoreBtn.Visibility = Visibility.Collapsed;
|
|
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)
|
|
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 (DataContext == null)
|
|
if (DataContext == null)
|
|
{
|
|
{
|
|
- var existUser = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text);
|
|
|
|
- if (existUser != null && DataContext == null)
|
|
|
|
|
|
+ if (SStaffRole.Text == null || SStaffRole.Text == "")
|
|
{
|
|
{
|
|
- MessageBox.Show("Такой логин уже имеется в базе данных!");
|
|
|
|
|
|
+ MessageBox.Show("Не выбрана должность");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ int numRole = DataBase.db.StaffRole.SingleOrDefault(item => item.Name == SStaffRole.Text).Id;
|
|
|
|
+ if (TestAddStaff(SLName.Text, SFName.Text, SMName.Text, SLogin.Text, SPassword.Text, numRole) == true)
|
|
|
|
+ {
|
|
|
|
+ var lastId = DataBase.db.Staff.OrderByDescending(item => item.Id).FirstOrDefault().Id;
|
|
|
|
+ DataBase.db.Staff.SingleOrDefault(item => item.Id == lastId).PhotoContract = contractImage;
|
|
|
|
+ DataBase.db.SaveChanges();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- if (SLName.Text == null || SFName.Text == null || SLogin.Text == null || SPassword.Text == null)
|
|
|
|
|
|
+ else
|
|
{
|
|
{
|
|
- MessageBox.Show("Ключевые поля не были заполнены!");
|
|
|
|
|
|
+ if (SLName.Text == null || SFName.Text == null || SLogin.Text == null || SPassword.Text == null)
|
|
|
|
+ {
|
|
|
|
+ MessageBox.Show("Ключевые поля не были заполнены!");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ else if (DataBase.db.Staff.SingleOrDefault(item => item.Id == IdStaff).Login != SLogin.Text)
|
|
|
|
+ {
|
|
|
|
+ if (DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text) != null)
|
|
|
|
+ {
|
|
|
|
+ MessageBox.Show("Такой логин имеется у другого сотрудника");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ MessageBox.Show("Данные по сотрудинку изменены.");
|
|
|
|
+ _staff.PhotoContract = contractImage;
|
|
|
|
+ DataBase.db.SaveChanges();
|
|
|
|
+ PChanger.MainFrame.GoBack();
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public bool TestAddStaff(string LName, string FName, string MName, string Login, string Password, int numRole)
|
|
|
|
+ {
|
|
|
|
+ if (SLName.Text == null || SLName.Text == "" || SFName.Text == null || SFName.Text == "" || SLogin.Text == null || SLogin.Text == "" || SPassword.Text == null || SPassword.Text == "")
|
|
|
|
+ {
|
|
|
|
+ MessageBox.Show("Ключевые поля не были заполнены!");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
else
|
|
else
|
|
{
|
|
{
|
|
var existUserS = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text && item.Id != IdStaff);
|
|
var existUserS = DataBase.db.Staff.SingleOrDefault(item => item.Login == SLogin.Text && item.Id != IdStaff);
|
|
if (existUserS != null)
|
|
if (existUserS != null)
|
|
{
|
|
{
|
|
MessageBox.Show("Такой логин уже имеется в базе данных у другого сотрудника!");
|
|
MessageBox.Show("Такой логин уже имеется в базе данных у другого сотрудника!");
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
- else if (DataContext == null)
|
|
|
|
|
|
+ else
|
|
{
|
|
{
|
|
- int numRole = DataBase.db.StaffRole.SingleOrDefault(item => item.Name == SStaffRole.Text).Id;
|
|
|
|
Staff staff = new Staff()
|
|
Staff staff = new Staff()
|
|
{
|
|
{
|
|
- LName = SLName.Text,
|
|
|
|
- FName = SFName.Text,
|
|
|
|
- MName = SMName.Text,
|
|
|
|
- Login = SLogin.Text,
|
|
|
|
- Password = SPassword.Text,
|
|
|
|
|
|
+ LName = LName,
|
|
|
|
+ FName = FName,
|
|
|
|
+ MName = MName,
|
|
|
|
+ Login = Login,
|
|
|
|
+ Password = Password,
|
|
Id_StaffRole = numRole,
|
|
Id_StaffRole = numRole,
|
|
- PhotoContract = cotractImage,
|
|
|
|
Id_PersStatus = 1
|
|
Id_PersStatus = 1
|
|
};
|
|
};
|
|
DataBase.db.Staff.Add(staff);
|
|
DataBase.db.Staff.Add(staff);
|
|
var lastId = DataBase.db.Staff.OrderByDescending(item => item.Id).FirstOrDefault().Id;
|
|
var lastId = DataBase.db.Staff.OrderByDescending(item => item.Id).FirstOrDefault().Id;
|
|
DataBase.db.SaveChanges();
|
|
DataBase.db.SaveChanges();
|
|
|
|
+
|
|
MessageBox.Show("Сотрудник добавлен в базу.");
|
|
MessageBox.Show("Сотрудник добавлен в базу.");
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
- else
|
|
|
|
- {
|
|
|
|
- MessageBox.Show("Данные по сотрудинку изменены.");
|
|
|
|
- _staff.PhotoContract = cotractImage;
|
|
|
|
- DataBase.db.SaveChanges();
|
|
|
|
- }
|
|
|
|
- PChanger.MainFrame.GoBack();
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
private void StaffDeleteOrRestoreBtn_Click(object sender, RoutedEventArgs e)
|
|
private void StaffDeleteOrRestoreBtn_Click(object sender, RoutedEventArgs e)
|
|
@@ -132,12 +164,20 @@ namespace Hotel_Course_Project
|
|
string uriString = $"{FilePath}";
|
|
string uriString = $"{FilePath}";
|
|
BitmapImage bitimage = new BitmapImage(new Uri(@uriString));
|
|
BitmapImage bitimage = new BitmapImage(new Uri(@uriString));
|
|
SContractPhoto.Source = bitimage;
|
|
SContractPhoto.Source = bitimage;
|
|
- cotractImage = SomeMethods.ConvertBitmapImageToByte(bitimage);
|
|
|
|
|
|
+ contractImage = SomeMethods.ConvertBitmapImageToByte(bitimage);
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
FilePath = string.Empty;
|
|
FilePath = string.Empty;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private void Page_Loaded(object sender, RoutedEventArgs e)
|
|
|
|
+ {
|
|
|
|
+ if (_staff == null || _staff.PhotoContract == null)
|
|
|
|
+ {
|
|
|
|
+ SContractPhoto.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/no_picture.jpg"));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|