EditAddEntryInSection.xaml.cs 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using SportComplex.Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Navigation;
  15. using System.Windows.Shapes;
  16. namespace SportComplex.Program.Pages.EditAddPages
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для EditAddEntryInSection.xaml
  20. /// </summary>
  21. public partial class EditAddEntryInSection : Page
  22. {
  23. // Поле для хранения экзепляра добавляемой записи (передаем объект класса EntryInSection)
  24. private EntryInSection entry = new EntryInSection();
  25. public EditAddEntryInSection(EntryInSection selectEntry)
  26. {
  27. InitializeComponent();
  28. // Заполнение ComboBox's
  29. SelectIDSectionCbx.ItemsSource = Entities.GetContext().Section.ToList();
  30. SelectIDSectionCbx.SelectedValuePath = "ID_section";
  31. SelectIDSectionCbx.DisplayMemberPath = "name";
  32. SelectIDClientCbx.ItemsSource = Entities.GetContext().Clients.ToList();
  33. SelectIDClientCbx.SelectedValuePath = "ID_client";
  34. SelectIDClientCbx.DisplayMemberPath = "lfname";
  35. SelectIDTrainerCbx.ItemsSource = Entities.GetContext().Trainers.ToList();
  36. SelectIDTrainerCbx.SelectedValuePath = "ID_trainer";
  37. SelectIDTrainerCbx.DisplayMemberPath = "lfname";
  38. if (selectEntry != null)
  39. entry = selectEntry;
  40. // Передача объекта класса для участия в привязке данных
  41. DataContext = entry;
  42. }
  43. // Сохранение
  44. private void SaveEntryBtn_Click(object sender, RoutedEventArgs e)
  45. {
  46. // Проверка
  47. StringBuilder errors = new StringBuilder();
  48. if (SelectIDClientCbx.SelectedIndex == -1)
  49. errors.AppendLine("* Выберите клиента!");
  50. if (SelectIDSectionCbx.SelectedIndex == -1)
  51. errors.AppendLine("* Выберите секцию!");
  52. if (SelectIDTrainerCbx.SelectedIndex == -1)
  53. errors.AppendLine("* Выберите тренера!");
  54. if (string.IsNullOrWhiteSpace(entry.dateReg.ToString()))
  55. errors.AppendLine("* Укажите дату!");
  56. // Если есть ошибки, то вывести какие
  57. if (errors.Length > 0)
  58. {
  59. MessageBox.Show(errors.ToString());
  60. return;
  61. }
  62. // Добавить новую запись
  63. if (entry.ID_entry == 0)
  64. {
  65. Entities.GetContext().EntryInSection.Add(entry);
  66. }
  67. try
  68. {
  69. Entities.GetContext().SaveChanges();
  70. MessageBox.Show("Данные сохранены!");
  71. NavigationService.Navigate(new View());
  72. }
  73. catch (Exception ex)
  74. { MessageBox.Show(ex.Message); }
  75. }
  76. // Вернуться на пред. страницу
  77. private void BackBtn_Click(object sender, RoutedEventArgs e)
  78. {
  79. NavigationService.Navigate(new View());
  80. }
  81. }
  82. }