Содержание отчёта к программе
1.Техническое задание
2.Научно-исследовательская часть.
2.1 Постановка задачи проетирования.
2.2 Описание предметной области.
2.3.Перечень задач, подлежащих решению в процессе разработки.
2.4 Обоснование выбора инструментов и платформы для разработки.
- Проектно-конструкторская часть.
3.1. Разработка структуры приложения.
3.2. Логическая схема базы данных.
3.3.Разработка интерфейса взаимодействия пользователя с системой.
3.4. Разработка архитектуры приложения.
- Проектно-технологическая часть.
4.1. Проектирование начального и тестового наполнения базы данных. Порядок развертывания системы.
Заключение.
Список использованных источников.
Часть описания кода в отчёте
Для поиска нужно компонента в БД, также используем метод FirstOrDefault.
var excursionDb = dbContext.Excursions.FirstOrDefault(x => x.Id == excursion.Id);
Чтобы удалить объект, используя Entity Framework, можно использовать метод Remove() на объекте DbSet. Если удаляются данные, которые еще не были вставлены в базу данных, то изменения не сохраняются. Для удаленного объекта DbContext больше не отслеживает изменения. Запрос удаления в базе данных выполняется при сохранении изменений с помощью метода DbContext.SaveChanges().
LINQ-запрос на загрузку данных заказа с идентификатором. Затем этот заказ удаляется из коллекции DbSet с использованием метода Remove(). Entity Framework сгенерирует следующий SQL-код для удаления этой записи:
DELETE [dbo].[Excursions]
WHERE ([excursion.Id] = @0)
После удаления данных из БД сохраняем все внесенные изменения, используя метод SaveChanges() из коллецкции DbSet. Так же нужно обновить отображения БД в DataGrid.
Часть кода программы:
private async void MainWindow_OnLoaded(object sender, RoutedEventArgs e) { using (MuseumDbContext dbContext = new MuseumDbContext()) { // заполняем таблицы DataGrid по данным из БД DataGridEmployee.ItemsSource = await dbContext.Employees.ToListAsync(); DataGridExcursion.ItemsSource = await dbContext.Excursions.Include(x => x.Employee).ToListAsync(); DataGridExhibits.ItemsSource = await dbContext.Exhibits.ToListAsync(); } DataGridEmployee.SelectedIndex = 0; } /// <summary> /// Обработка нажатия на кнопку добавления экскурсии /// </summary> private async void AddExcursionButton_OnClick(object sender, RoutedEventArgs e) { AddEditExcursionDialog addEditExcursionDialog = new AddEditExcursionDialog(((List<Employee>)DataGridEmployee.ItemsSource).Where(x=>x.Role == "Guide" || x.Role == "Admin").ToList()); var dialog = addEditExcursionDialog.ShowDialog(); if (dialog.HasValue && dialog.Value) { using (MuseumDbContext dbContext = new MuseumDbContext()) { // обновляем таблицу DataGridExcursion.ItemsSource = await dbContext.Excursions.Include(x => x.Employee).ToListAsync(); DataGridExcursion.Items.Refresh(); } } }
-----------------------------------
В архиве:
- Расчётно пояснительная записка по БД - 27 стр. (в формате .docx и .pdf)
- Расчётно пояснительная записка по АСОИ - 22 стр. (в формате .docx и .pdf)
- 2 листа c UML диаграммами, по алгоритмам и логике работы программы (в формате .vsdx, .pdf и .png)
- Презентация для выступления
- Программа(исходный код на C#)
-----------------------------------
imlkenshi