Задание на программу:
Необходимо реализовать АИС (Базу данных) предприятия по продаже настольных игр с помощью C#,WinFroms и SQLite.
Использованные технологии:
- C# + WinForms;
- SQLite + Entity Framework;
- MetroModernUI.
При написании использовалась Visual Studio 2019.
Описание возможнотей программы:
- Учёт настольных игр (удаление/редактирование/добавление) и ведение истории изменения цен на них;
- Ведение списка покупателей и сотрудников предприятия и редактирование их данных.
- Возможность авторизироваться под обычным пользователем или администратором (больше возможностей).
- Вести продажи настольных игр и возможность просматривать продажи конкретного пользователя.
- Пароли в базе хэшируются с помощью MD5.
Ничего дополнительно устанавливать не нужно. Просто запустили в VS или .exe и всё работает.
Фрагмент программного кода (окно авторизации):
public partial class AuthForm : MetroForm { private const string EMPTY_FIELDS = "Заполните все поля"; private const string WRONG_DATA = "Неправильный логин или пароль"; private readonly AuthService _authService; public AuthForm() { InitializeComponent(); _authService = new AuthService(Settings.Context); } private void btnLogin_Click(object sender, EventArgs e) { if (Helpers.IsAnyEmpty(string.IsNullOrEmpty, txtLogin.Text.Trim(), txtPassword.Text.Trim())) { lblStatus.Text = EMPTY_FIELDS; return; } try { if (_authService.LogIn(txtLogin.Text.Trim(), Helpers.CreateHash(txtLogin.Text.Trim()), out User user)) { Settings.CurrentUser = user; this.Visible = false; txtLogin.Text = string.Empty; txtPassword.Text = string.Empty; new MainForm().ShowDialog(); this.Visible = true; } else { lblStatus.Text = WRONG_DATA; } } catch (Exception exc) { MetroMessageBox.Show(this, exc.Message, "Ошибка", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error); } } }
Структура проекта:
Содержание архива:
- Исходный проект программы с кодом в Visual Studio.
kostyaLem