ListHotels.xaml.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Windows;
  7. using System.Windows.Controls;
  8. using System.Windows.Data;
  9. using System.Windows.Documents;
  10. using System.Windows.Input;
  11. using System.Windows.Media;
  12. using System.Windows.Media.Imaging;
  13. using System.Windows.Navigation;
  14. using System.Windows.Shapes;
  15. using WpfApp1.Entities;
  16. namespace WpfApp1
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для ListHotels.xaml
  20. /// </summary>
  21. public partial class ListHotels : Page
  22. {
  23. public ListHotels()
  24. {
  25. InitializeComponent();
  26. //DGridHotels.ItemsSource = new Entities.user20Entities().User.ToList();
  27. }
  28. private void BtnEdit_Click(object sender, RoutedEventArgs e)
  29. {
  30. Manager.MainFrame.Navigate(new AddEditPage((sender as Button).DataContext as User));
  31. }
  32. private void BtnAdd_Click(object sender, RoutedEventArgs e)
  33. {
  34. Manager.MainFrame.Navigate(new AddEditPage(null));
  35. }
  36. private void BtnDelete_Click(object sender, RoutedEventArgs e)
  37. {
  38. var usersForRemoving = DGridHotels.SelectedItems.Cast<User>().ToList();
  39. if (MessageBox.Show($"Вы точно хотите удалить следующие {usersForRemoving.Count()} данные?", "Внимание!",
  40. MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
  41. {
  42. try
  43. {
  44. usersForRemoving.ForEach(user => { user.IsDeleted = true;});
  45. user20Entities.GetContext().SaveChanges();
  46. MessageBox.Show("Данные удалены!");
  47. DGridHotels.ItemsSource = user20Entities.GetContext().User.Where(u => u.IsDeleted == false).ToList();
  48. }
  49. catch (Exception ex)
  50. {
  51. var inner = ex.InnerException;
  52. MessageBox.Show(inner.ToString());
  53. }
  54. }
  55. }
  56. private void Page_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
  57. {
  58. if (Visibility == Visibility.Visible)
  59. {
  60. user20Entities.GetContext().ChangeTracker.Entries().ToList().ForEach(p => p.Reload());
  61. DGridHotels.ItemsSource = user20Entities.GetContext().User.ToList();
  62. }
  63. }
  64. }
  65. }