2024-05-07 19:37:44 +04:00
|
|
|
|
using ElectronicDiaryAbstractions.Models;
|
|
|
|
|
using ElectronicDiaryAbstractions.WorkAbstractions;
|
|
|
|
|
|
|
|
|
|
namespace ElectronicDiaryView
|
|
|
|
|
{
|
|
|
|
|
public partial class FormUser : Form
|
|
|
|
|
{
|
|
|
|
|
private readonly IUserWork _logic;
|
|
|
|
|
|
|
|
|
|
public FormUser(IUserWork logic)
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
_logic = logic;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void FormUser_Load(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void LoadData()
|
|
|
|
|
{
|
|
|
|
|
var users = _logic.GetAll();
|
|
|
|
|
|
|
|
|
|
dataGridView.Rows.Clear();
|
|
|
|
|
|
|
|
|
|
if (dataGridView.ColumnCount == 0)
|
|
|
|
|
{
|
|
|
|
|
dataGridView.Columns.Add("Id", "ID");
|
|
|
|
|
dataGridView.Columns.Add("Login", "Логин");
|
|
|
|
|
dataGridView.Columns.Add("Email", "E-mail");
|
|
|
|
|
dataGridView.Columns.Add("Password", "Пароль");
|
|
|
|
|
dataGridView.Columns.Add("PhoneNumber", "Номер телефона");
|
|
|
|
|
dataGridView.Columns.Add("AccessLevel", "Уровень доступа");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
dataGridView.Columns["Login"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
dataGridView.Columns["Email"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
dataGridView.Columns["Password"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
dataGridView.Columns["PhoneNumber"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
dataGridView.Columns["AccessLevel"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
|
|
|
|
|
|
|
|
|
foreach (var user in users)
|
|
|
|
|
{
|
|
|
|
|
dataGridView.Rows.Add(user.Id, user.Login, user.Email, user.Password, user.PhoneNumber, user.AccessLevel);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ButtonCreate_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
User newUser = new()
|
|
|
|
|
{
|
|
|
|
|
Login = textBoxLogin.Text,
|
|
|
|
|
Email = textBoxEmail.Text,
|
|
|
|
|
Password = textBoxPassword.Text,
|
|
|
|
|
PhoneNumber = textBoxPhone.Text,
|
|
|
|
|
AccessLevel = comboBoxAccessLevel.SelectedItem.ToString() ?? "Ученик",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
_logic.Create(newUser);
|
|
|
|
|
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ButtonUpdate_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (dataGridView.SelectedRows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow selectedRow = dataGridView.SelectedRows[0];
|
|
|
|
|
int userId = Convert.ToInt32(selectedRow.Cells["Id"].Value);
|
|
|
|
|
|
|
|
|
|
User updatedUser = new()
|
|
|
|
|
{
|
|
|
|
|
Id = userId,
|
|
|
|
|
Email = textBoxEmail.Text,
|
|
|
|
|
Password = textBoxPassword.Text,
|
|
|
|
|
PhoneNumber = textBoxPhone.Text,
|
|
|
|
|
AccessLevel = comboBoxAccessLevel.SelectedItem.ToString() ?? "Ученик",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
_logic.Update(updatedUser);
|
|
|
|
|
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("Пожалуйста, выберите пользователя, информацию о котором необходимо обновить");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ButtonDelete_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (dataGridView.SelectedRows.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow selectedRow = dataGridView.SelectedRows[0];
|
|
|
|
|
int userId = Convert.ToInt32(selectedRow.Cells["Id"].Value);
|
|
|
|
|
|
|
|
|
|
_logic.Delete(userId);
|
|
|
|
|
|
|
|
|
|
LoadData();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("Пожалуйста, выберите пользователя, которого необходимо удалить");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void DataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.RowIndex >= 0)
|
|
|
|
|
{
|
|
|
|
|
DataGridViewRow row = dataGridView.Rows[e.RowIndex];
|
2024-05-08 00:33:46 +04:00
|
|
|
|
textBoxLogin.Text = row.Cells["Login"].Value.ToString();
|
|
|
|
|
textBoxEmail.Text = row.Cells["Email"].Value.ToString();
|
2024-05-07 19:37:44 +04:00
|
|
|
|
textBoxPassword.Text = row.Cells["Password"].Value.ToString();
|
|
|
|
|
textBoxPhone.Text = row.Cells["PhoneNumber"].Value.ToString();
|
|
|
|
|
comboBoxAccessLevel.SelectedValue = row.Cells["AccessLevel"].Value.ToString();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|