MainWindow.xaml.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Data.Entity;
  3. using System.Linq;
  4. using System.Windows;
  5. namespace VideoprokatApp
  6. {
  7. public partial class MainWindow : Window
  8. {
  9. private VideoprokatEntities _context;
  10. public MainWindow()
  11. {
  12. InitializeComponent();
  13. _context = new VideoprokatEntities();
  14. _context.Videoteka.Include(v => v.KlassifikatsionnyKod).Load();
  15. VideotekaDataGrid.ItemsSource = _context.Videoteka.Local;
  16. }
  17. private void AddButton_Click(object sender, RoutedEventArgs e)
  18. {
  19. try
  20. {
  21. var window = new AddEditWindow();
  22. if (window.ShowDialog() == true)
  23. {
  24. _context.Videoteka.Add(window.Videoteka);
  25. _context.SaveChanges();
  26. }
  27. }
  28. catch (Exception ex)
  29. {
  30. MessageBox.Show($"Ошибка при добавлении записи: {ex.Message}");
  31. }
  32. }
  33. private void EditButton_Click(object sender, RoutedEventArgs e)
  34. {
  35. var selected = (Videoteka)VideotekaDataGrid.SelectedItem;
  36. if (selected != null)
  37. {
  38. try
  39. {
  40. var window = new AddEditWindow(selected);
  41. if (window.ShowDialog() == true)
  42. {
  43. _context.Entry(selected).State = EntityState.Modified;
  44. _context.SaveChanges();
  45. }
  46. }
  47. catch (Exception ex)
  48. {
  49. MessageBox.Show($"Ошибка при редактировании записи: {ex.Message}");
  50. }
  51. }
  52. }
  53. private void DeleteButton_Click(object sender, RoutedEventArgs e)
  54. {
  55. var selected = (Videoteka)VideotekaDataGrid.SelectedItem;
  56. if (selected != null)
  57. {
  58. try
  59. {
  60. _context.Videoteka.Remove(selected);
  61. _context.SaveChanges();
  62. }
  63. catch (Exception ex)
  64. {
  65. MessageBox.Show($"Ошибка при удалении записи: {ex.Message}");
  66. }
  67. }
  68. }
  69. }
  70. }