# Продажа компьютерной техники Информационная система предназначена для учета клиентов, товаров, заказов и пользователей магазина компьютерной техники. Приложение реализовано на C# с использованием WPF, .NET Framework 4.6.1, PostgreSQL и библиотеки Npgsql. # Введение Основные возможности программы: - авторизация пользователей приложения; - разграничение прав по ролям `admin`, `manager`, `viewer`; - просмотр справочника товаров и поставщиков; - добавление товаров пользователями с правами администратора или менеджера; - просмотр, добавление, изменение и удаление клиентов с учетом роли пользователя; - просмотр заказов и состава заказов; - изменение статуса заказа для администратора и менеджера; - просмотр просроченных заказов; - управление пользователями приложения для администратора. # Назначение и условия применения Программа применяется для сопровождения работы небольшого магазина компьютерной техники. Система рассчитана на эксплуатацию оператором, менеджером или администратором на рабочем месте с установленной операционной системой Windows, .NET Framework 4.6.1 и доступом к серверу PostgreSQL. Для работы требуется подключение к базе данных PostgreSQL. Разделение прав выполняется на уровне приложения через таблицу `app_users` и поле `role_name`. Роли PostgreSQL в учебной базе данных не создаются. # Установка 1. [ ] Установить .NET Framework 4.6.1, если он отсутствует на рабочем месте. 2. [ ] Установить или подготовить доступ к PostgreSQL. 3. [ ] Выполнить SQL-скрипт `create_database.sql` или `ComputerShopWpf/Database/create_database.sql` в выбранной базе данных. 4. [ ] Запустить файл `ComputerShopWpf_Setup.exe`. 5. [ ] Подтвердить установку приложения в папку `%LOCALAPPDATA%\ComputerShopWpf`. 6. [ ] Проверить, что на рабочем столе появился ярлык "Продажа компьютерной техники". 7. [ ] Запустить приложение через ярлык и проверить вход под тестовыми пользователями. 8. [ ] Для разработки открыть `ComputerShopWpf.sln`, восстановить NuGet-пакеты, выполнить `Clean Solution` и `Rebuild Solution`. Установщик создается скриптом `Installer/build_installer.ps1`. Он упаковывает файлы сборки, `README.md`, SQL-скрипт и сценарий удаления в один файл `ComputerShopWpf_Setup.exe`. Текущая строка подключения: ```csharp public static string MainConnection = "Host=edu-pg.itiscaf.ru;Port=5432;Database=dbwork;Username=shavrin_rr;Password=m81&T2f4u#1;SSL Mode=Disable;Timeout=15;Command Timeout=30"; ``` # Описание операций Для входа в систему пользователь вводит логин и пароль. После успешной авторизации открывается главное окно приложения. Доступные разделы зависят от роли пользователя. Тестовые учетные записи: | Логин | Пароль | Роль | Права | | - | - | - | - | | `admin` | `admin123` | `admin` | полный доступ | | `manager` | `manager123` | `manager` | просмотр и редактирование клиентов, заказов и товаров | | `viewer` | `viewer123` | `viewer` | только просмотр данных | Основные операции: - перейти в раздел "Клиенты" для просмотра и редактирования клиентской базы; - перейти в раздел "Товары" для просмотра справочника товаров и добавления новых позиций; - перейти в раздел "Заказы" для просмотра заказов и изменения статуса; - перейти в раздел "Состав заказов" для просмотра товаров в заказе; - перейти в раздел "Просроченные заказы" для контроля заказов, находящихся в работе более семи дней; - перейти в раздел "Пользователи" для администрирования учетных записей; - нажать "Выйти из аккаунта" для завершения сеанса пользователя. # Термины и сокращения | Термин | Описание | | - | - | | WPF | технология Microsoft для создания настольных приложений Windows | | PostgreSQL | система управления реляционными базами данных | | Npgsql | библиотека доступа к PostgreSQL из приложений .NET | | БД | база данных | | ПО | программное обеспечение | | Роль | уровень доступа пользователя в приложении | | Инсталлятор | программа установки, разворачивающая приложение на рабочем месте |