using AutomobilePlantContracts.BusinessLogicsContracts; using Microsoft.Extensions.Logging; namespace AutomobilePlantView { public partial class FormMails : Form { private readonly ILogger _logger; private readonly IMessageInfoLogic _logic; public FormMails(ILogger logger, IMessageInfoLogic logic) { InitializeComponent(); _logger = logger; _logic = logic; } void LoadData() { try { var list = _logic.ReadList(new() { Page = ((int)numericUpDownPage.Value), PageSize = ((int)numericUpDownPageSize.Value), }); if (list != null) { dataGridView.DataSource = list; dataGridView.Columns["ClientId"].Visible = false; dataGridView.Columns["MessageId"].Visible = false; dataGridView.Columns["Body"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } _logger.LogInformation("Загрузка писем"); } catch (Exception ex) { _logger.LogError(ex, "Ошибка загрузки писем"); MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void FormMails_Load(object sender, EventArgs e) { LoadData(); } private void numericUpDownPage_ValueChanged(object sender, EventArgs e) { LoadData(); } private void numericUpDownPageSize_ValueChanged(object sender, EventArgs e) { LoadData(); } private void dataGridView_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { if (dataGridView.SelectedRows.Count == 1) { var service = Program.ServiceProvider?.GetService(typeof(FormMail)); if (service is FormMail form) { form.MessageId = (string)(dataGridView.SelectedRows[0].Cells["MessageId"].Value); form.ShowDialog(); LoadData(); } } } } }