AdminPage.xaml.cs 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  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. if (ClientSeacrhTB.Text == "")
  157. {
  158. Page_Loaded(sender, e);
  159. }
  160. }
  161. private void PaySeacrhTB_TextChanged(object sender, TextChangedEventArgs e)
  162. {
  163. if (PaySeacrhTB.Text == "")
  164. {
  165. Page_Loaded(sender, e);
  166. }
  167. }
  168. #endregion
  169. private void RoleDeleteBtn_Click(object sender, RoutedEventArgs e)
  170. {
  171. StaffRole role = (sender as Button).DataContext as StaffRole;
  172. var ishave = DataBase.db.Staff.Where(item => item.Id_StaffRole == role.Id).ToList();
  173. if (ishave.Count > 0)
  174. {
  175. MessageBox.Show("Удаление невозможно, т.к. \nимеются работники занимающие \nэту должность");
  176. }
  177. else
  178. {
  179. DataBase.db.StaffRole.Remove(role);
  180. DataBase.db.SaveChanges();
  181. Page_Loaded(sender, e);
  182. }
  183. }
  184. private void StatusRoleDeleteBtn_Click(object sender, RoutedEventArgs e)
  185. {
  186. RoomStatus status = (sender as Button).DataContext as RoomStatus;
  187. var ishave = DataBase.db.Order.Where(item => item.Id_Room == status.Id).ToList();
  188. if (ishave.Count > 0)
  189. {
  190. MessageBox.Show("Удаление невозможно, т.к. эта комната учавствует в заказах");
  191. }
  192. else
  193. {
  194. DataBase.db.RoomStatus.Remove(status);
  195. DataBase.db.SaveChanges();
  196. Page_Loaded(sender, e);
  197. }
  198. }
  199. private void PayTypeDeleteBtn_Click(object sender, RoutedEventArgs e)
  200. {
  201. PayType type = (sender as Button).DataContext as PayType;
  202. var ishave = DataBase.db.Pay.Where(item => item.Id_PayType == type.Id).ToList();
  203. if (ishave.Count > 0)
  204. {
  205. MessageBox.Show("Удаление невозможно, т.к. эта комната учавствует в заказах");
  206. }
  207. else
  208. {
  209. DataBase.db.PayType.Remove(type);
  210. DataBase.db.SaveChanges();
  211. Page_Loaded(sender, e);
  212. }
  213. }
  214. }
  215. }