AdminPage.xaml.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. using System.Linq;
  2. using System.Windows;
  3. using System.Windows.Controls;
  4. namespace Hotel_Course_Project
  5. {
  6. /// <summary>
  7. /// Логика взаимодействия для AdminPage.xaml
  8. /// </summary>
  9. public partial class AdminPage : Page
  10. {
  11. public AdminPage(Staff admin)
  12. {
  13. InitializeComponent();
  14. }
  15. private void Page_Loaded(object sender, RoutedEventArgs e)
  16. {
  17. #region условия для выводва работников
  18. if (SortStaffCB.SelectedItem == activeS)
  19. {
  20. StaffList.ItemsSource = DataBase.db.Staff.Where(item => item.Id_PersStatus == 1).ToList();
  21. }
  22. else
  23. {
  24. StaffList.ItemsSource = DataBase.db.Staff.Where(item => item.Id_PersStatus == 2).ToList();
  25. }
  26. #endregion
  27. #region Условия для выводва клиентов
  28. if (SortClientCB.SelectedItem == activeC)
  29. {
  30. ClientList.ItemsSource = DataBase.db.Client.Where(item => item.Id_PersStatus == 1).ToList();
  31. }
  32. else
  33. {
  34. ClientList.ItemsSource = DataBase.db.Client.Where(item => item.Id_PersStatus == 2).ToList();
  35. }
  36. #endregion
  37. RoomList.ItemsSource = DataBase.db.Room.ToList();
  38. PayList.ItemsSource = DataBase.db.Order.ToList();
  39. RoleList.ItemsSource = DataBase.db.StaffRole.ToList();
  40. StatusRoomList.ItemsSource = DataBase.db.RoomStatus.ToList();
  41. PayTypeList.ItemsSource = DataBase.db.PayType.ToList();
  42. }
  43. #region Обработчики кнопок добавления
  44. private void AddStaffBtn_Click(object sender, RoutedEventArgs e)
  45. {
  46. PChanger.MainFrame.Navigate(new StaffChangeOrAddPage(null));
  47. Page_Loaded(sender, e);
  48. }
  49. private void AddClientBtn_Click(object sender, RoutedEventArgs e)
  50. {
  51. PChanger.MainFrame.Navigate(new ClientChangeOrAddPage(null));
  52. Page_Loaded(sender, e);
  53. }
  54. private void AddRoomBtn_Click(object sender, RoutedEventArgs e)
  55. {
  56. RoomAddOrChangePage roomAddOrChange = new RoomAddOrChangePage(null);
  57. PChanger.MainFrame.Navigate(new RoomAddOrChangePage(null));
  58. Page_Loaded(sender, e);
  59. }
  60. private void RoleAddBtn_Click(object sender, RoutedEventArgs e)
  61. {
  62. RoleAddWindow roleAdd = new RoleAddWindow();
  63. roleAdd.ShowDialog();
  64. Page_Loaded(sender, e);
  65. }
  66. private void StatusRoomAddBtn_Click(object sender, RoutedEventArgs e)
  67. {
  68. StatusRoomAddWindow statusRoomAdd = new StatusRoomAddWindow();
  69. statusRoomAdd.ShowDialog();
  70. Page_Loaded(sender, e);
  71. }
  72. private void PayTypeAddBtn_Click(object sender, RoutedEventArgs e)
  73. {
  74. PayTypeAddWindow payTypeAdd = new PayTypeAddWindow();
  75. payTypeAdd.ShowDialog();
  76. Page_Loaded(sender, e);
  77. }
  78. #endregion
  79. #region Обработчики кнопок выбора
  80. private void StaffSelectBtn_Click(object sender, RoutedEventArgs e)
  81. {
  82. Staff staff = (sender as Button).DataContext as Staff;
  83. PChanger.MainFrame.Navigate(new StaffChangeOrAddPage(staff));
  84. Page_Loaded(sender, e);
  85. }
  86. private void ClientSelectBtn_Click(object sender, RoutedEventArgs e)
  87. {
  88. Client client = (sender as Button).DataContext as Client;
  89. PChanger.MainFrame.Navigate(new ClientChangeOrAddPage(client));
  90. Page_Loaded(sender, e);
  91. }
  92. private void SelectRoomBtn_Click(object sender, RoutedEventArgs e)
  93. {
  94. Room room = (sender as Button).DataContext as Room;
  95. PChanger.MainFrame.Navigate(new RoomAddOrChangePage(room));
  96. Page_Loaded(sender, e);
  97. }
  98. #endregion
  99. #region Обработчики выбора в сортировке
  100. private void SortStaffCB_SelectionChanged(object sender, RoutedEventArgs e)
  101. {
  102. if (StaffList != null)
  103. {
  104. Page_Loaded(sender, e);
  105. }
  106. }
  107. private void SortClientCB_SelectionChanged(object sender, SelectionChangedEventArgs e)
  108. {
  109. if (ClientList != null)
  110. {
  111. Page_Loaded(sender, e);
  112. }
  113. }
  114. #endregion
  115. #region Обработчики кнопок поиска
  116. private void StaffSrchBtn_Click(object sender, RoutedEventArgs e)
  117. {
  118. var seacrhed = DataBase.db.Staff.Where(item => (item.LName + " " + item.FName + " " + item.MName + " " + item.Login + " " + item.Password).Contains(StaffSeacrhTB.Text)).ToList();
  119. if (SortStaffCB.SelectedItem == activeS)
  120. {
  121. StaffList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 1).ToList();
  122. }
  123. else
  124. {
  125. StaffList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 2).ToList();
  126. }
  127. }
  128. private void ClientSrchBtn_Click(object sender, RoutedEventArgs e)
  129. {
  130. var seacrhed = DataBase.db.Client.Where(item => (item.LName + " " + item.FName + " " + item.MName).Contains(ClientSeacrhTB.Text)).ToList();
  131. if (SortClientCB.SelectedItem == activeC)
  132. {
  133. ClientList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 1).ToList();
  134. }
  135. else
  136. {
  137. ClientList.ItemsSource = seacrhed.Where(item => item.Id_PersStatus == 2).ToList();
  138. }
  139. }
  140. private void PaySrchBtn_Click(object sender, RoutedEventArgs e)
  141. {
  142. var searched = DataBase.db.Order.Where(item => (item.Pay.PayDate + " " + item.Pay.EndSum + " " + item.Staff.LName + " " + item.Staff.FName + " " + item.Staff.MName + " " + item.Client.LName + " " + item.Client.FName + " " + item.Room.NumRoom).Contains(PaySeacrhTB.Text)).ToList();
  143. PayList.ItemsSource = searched;
  144. }
  145. #endregion
  146. #region Обработичики для строк поиска
  147. private void StaffSeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
  148. {
  149. if (StaffSeacrhTB.Text == "")
  150. {
  151. Page_Loaded(sender, e);
  152. }
  153. }
  154. private void ClientSeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
  155. {
  156. }
  157. private void PaySeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
  158. {
  159. if (PaySeacrhTB.Text == "")
  160. {
  161. Page_Loaded(sender, e);
  162. }
  163. }
  164. #endregion
  165. #region обработчики кнопок удаления
  166. private void RoleDeleteBtn_Click(object sender, RoutedEventArgs e)
  167. {
  168. StaffRole role = (sender as Button).DataContext as StaffRole;
  169. var ishave = DataBase.db.Staff.Where(item => item.Id_StaffRole == role.Id).ToList();
  170. if (ishave.Count > 0)
  171. {
  172. MessageBox.Show("Удаление невозможно, т.к. \nимеются работники занимающие \nэту должность");
  173. }
  174. else
  175. {
  176. DataBase.db.StaffRole.Remove(role);
  177. DataBase.db.SaveChanges();
  178. Page_Loaded(sender, e);
  179. }
  180. }
  181. private void StatusRoleDeleteBtn_Click(object sender, RoutedEventArgs e)
  182. {
  183. RoomStatus status = (sender as Button).DataContext as RoomStatus;
  184. var ishave = DataBase.db.Order.Where(item => item.Id_Room == status.Id).ToList();
  185. if (ishave.Count > 0)
  186. {
  187. MessageBox.Show("Удаление невозможно, т.к. эта комната учавствует в заказах");
  188. }
  189. else
  190. {
  191. DataBase.db.RoomStatus.Remove(status);
  192. DataBase.db.SaveChanges();
  193. Page_Loaded(sender, e);
  194. }
  195. }
  196. private void PayTypeDeleteBtn_Click(object sender, RoutedEventArgs e)
  197. {
  198. PayType type = (sender as Button).DataContext as PayType;
  199. var ishave = DataBase.db.Pay.Where(item => item.Id_PayType == type.Id).ToList();
  200. if (ishave.Count > 0)
  201. {
  202. MessageBox.Show("Удаление невозможно, т.к. эта этот тип платежей учавствует в платежах");
  203. }
  204. else
  205. {
  206. DataBase.db.PayType.Remove(type);
  207. DataBase.db.SaveChanges();
  208. Page_Loaded(sender, e);
  209. }
  210. }
  211. #endregion
  212. }
  213. }