Задание на программу:
Необходимо реализовать АИС (Базу данных) предприятия по продаже настольных игр с помощью 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.
Телеграм
-