Задание
Разработать многофункциональное приложение на C# WPF NET 7. На текущий момент необходимо реализовать учет художников с возможностью их добавления, удаления и редактирования. Национальность художника должна подтягиваться мз другой таблицы.
Функционал программы
- добавление художника
- редактирование художника
- удаление художника
- перезагрузка данных
Фрагмент программного кода
using System.Windows;
using VRA.BusinessLayer;
using VRA.Dto;
namespace VRA.UI
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void BtnAdd_Click(object sender, RoutedEventArgs e)
{
AddArtistsWindow artistsWindow = new AddArtistsWindow();
artistsWindow.ShowDialog();
// Получаем список художников и передаем его на отображение таблице
dgArtists.ItemsSource = ProcessFactory.GetArtistProcess().GetList();
}
private void BtnRefresh_Click(object sender, RoutedEventArgs e)
{
// Получаем список художников и передаем его на отображение таблице
dgArtists.ItemsSource = ProcessFactory.GetArtistProcess().GetList();
}
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{
// Получаем выделенную строку с объектом художника
ArtistDto item = dgArtists.SelectedItem as ArtistDto;
// если там не художник или пользователь ничего не выбрал сообщаем об этом
if (item == null)
{
MessageBox.Show("Выберите запись для удаления", "Удаление художника");
}
// Просим подтвердить удаление
MessageBoxResult result = MessageBox.Show("Удалить художника " + item.Name + "?",
"Удаление художника ", MessageBoxButton.YesNo, MessageBoxImage.Warning);
// Если пользователь не подтвердил, выходим
if (result != MessageBoxResult.Yes)
return;
// Если все проверки пройдены и подтверждение получено, удаляем художника
ProcessFactory.GetArtistProcess().Delete(item.Id);
// И перезагружаем список художников
BtnRefresh_Click(sender, e);
}
private void BtnEdit_Click(object sender, RoutedEventArgs e)
{
// Получаем выделенную строку с объектом художника
ArtistDto item = dgArtists.SelectedItem as ArtistDto;
// если там не художник или пользователь ничего не выбрал сообщаем об этом
if (item == null)
{
MessageBox.Show("Выберите запись для редактирования", "Редактирование");
return;
}
// Создаем окно
AddArtistsWindow artistsWindow = new AddArtistsWindow();
// Передаем объект на редактирование
artistsWindow.Load(item);
// Отображаем окно с данными
artistsWindow.ShowDialog();
// Перезагружаем список объектов
BtnRefresh_Click(sender, e);
}
}
}
Структура проекта

Скриншот архива с проектом


Содержание архива
- проект C# VS 2022
- папка с базой данных
- папка с видео инструкцией
- папка со скриншотами
Пояснения по запуску программы
Настроить БД подключив ее в MS SQL Server (см. видео с инструкцией), подключить БД в Visual Studio 2022 (см. инструкцию), поменять путь к БД
Телеграм
-