99 lines
2.9 KiB
C#
99 lines
2.9 KiB
C#
|
using Contracts.BindingModels;
|
|||
|
using Contracts.BusinessLogicContracts;
|
|||
|
using Contracts.SearchModels;
|
|||
|
using Contracts.ViewModels;
|
|||
|
using ControlsLibraryNet60.Core;
|
|||
|
using ControlsLibraryNet60.Models;
|
|||
|
using System.Diagnostics;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace WinForms
|
|||
|
{
|
|||
|
public partial class FormMain : Form
|
|||
|
{
|
|||
|
private IAccountLogic _logic;
|
|||
|
|
|||
|
public FormMain(IAccountLogic logic)
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
_logic = logic;
|
|||
|
|
|||
|
controlDataTable.LoadColumns(new List<DataTableColumnConfig>
|
|||
|
{
|
|||
|
new DataTableColumnConfig { ColumnHeader = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", PropertyName = "Id", Visible = true, Width = 100 },
|
|||
|
new DataTableColumnConfig { ColumnHeader = "<22><><EFBFBD><EFBFBD><EFBFBD>", PropertyName = "Login", Visible = true, Width = 200 },
|
|||
|
new DataTableColumnConfig { ColumnHeader = "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", PropertyName = "ResidenceCityName", Visible = true, Width = 150 },
|
|||
|
new DataTableColumnConfig { ColumnHeader = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", PropertyName = "AccountStatusHistory", Visible = true, Width = 250 },
|
|||
|
new DataTableColumnConfig { ColumnHeader = "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", PropertyName = "AccountCreationDate", Visible = true, Width = 125 },
|
|||
|
});
|
|||
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
|||
|
}
|
|||
|
|
|||
|
private void LoadData()
|
|||
|
{
|
|||
|
controlDataTable.Clear();
|
|||
|
var accounts = _logic.ReadList(null);
|
|||
|
if (accounts != null)
|
|||
|
{
|
|||
|
var displayAccounts = accounts.Select(account => new
|
|||
|
{
|
|||
|
account.Id,
|
|||
|
account.Login,
|
|||
|
account.ResidenceCityName,
|
|||
|
AccountStatusHistory = string.Join(", ", account.AuthorizationAttemptsHistory),
|
|||
|
account.AccountCreationDate
|
|||
|
}).ToList();
|
|||
|
controlDataTable.AddTable(displayAccounts);
|
|||
|
}
|
|||
|
}
|
|||
|
private void FormMain_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
private void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var service = Program.ServiceProvider?.GetService(typeof(FormAccount));
|
|||
|
if (service is FormAccount form)
|
|||
|
{
|
|||
|
form.ShowDialog();
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var service = Program.ServiceProvider?.GetService(typeof(FormAccount));
|
|||
|
if (service is FormAccount form)
|
|||
|
{
|
|||
|
form._id = controlDataTable.GetSelectedObject<AccountViewModel>().Id;
|
|||
|
if (form.ShowDialog() == DialogResult.OK)
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ToolStripMenuItem_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var selectedAccount = controlDataTable.GetSelectedObject<AccountViewModel>();
|
|||
|
if (selectedAccount == null)
|
|||
|
{
|
|||
|
MessageBox.Show("<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
return;
|
|||
|
}
|
|||
|
if (MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
|||
|
{
|
|||
|
if (_logic.Delete(new AccountBindingModel { Id = selectedAccount.Id }))
|
|||
|
{
|
|||
|
LoadData();
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox.Show("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|