Ты — опытный преподаватель и разработчик C# WPF. Помоги мне сделать курсовую работу / демонстрационный экзамен по теме "Разработка информационной системы для магазина обуви (или игрушек)".
Требования к приложению:
Предметная область:
Магазин обуви (ООО «Обувь») или игрушек.
Есть роли: Гость, Клиент, Менеджер, Администратор.
Функционал:
Окно авторизации (логин + пароль из БД).
Кнопка «Войти как Гость».
После авторизации:
Гость и Клиент: могут только просматривать товары (без фильтрации, поиска и сортировки).
Менеджер: просмотр товаров с фильтрацией, поиском, сортировкой + просмотр заказов.
Администратор: полный CRUD для товаров и заказов.
Обязательные элементы:
Отображение ФИО пользователя в правом верхнем углу.
Подсветка строк товаров, у которых есть скидка (например, зелёным цветом).
Красивый, единообразный дизайн, минимальный размер окна, адаптивная разметка.
Чистый, читаемый код с правильными названиями.
Обработка ошибок и сообщения пользователю.
Технические требования:
WPF (.NET Framework 4.7.2 или 4.8)
ADO.NET (SqlConnection, SqlCommand, SqlDataReader)
Code-behind (без MVVM, чтобы было проще)
Структура проекта должна быть логичной.
Пожалуйста, напиши полный рабочий код по следующей структуре:
Модели (User.cs, Product.cs, CurrentUser.cs)
DataService.cs — все методы работы с БД (авторизация, CRUD товаров)
App.config с ConnectionString
LoginWindow.xaml + .cs
ProductsWindow.xaml + .cs (с DataGrid, подсветкой, кнопками CRUD)
ProductEditWindow.xaml + .cs (окно добавления/редактирования товара)
SQL-скрипт создания базы данных в 3НФ (Users, Categories, Products, Orders, OrderItems) + тестовые данные.
Сделай код максимально понятным, с комментариями в ключевых местах.
Используй простые и надёжные решения, подходящие для защиты курсовой работы / демонстрационного экзамена.
Напиши весь код по файлам, чтобы я мог сразу скопировать.