56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
using MedicalDatabaseContracts;
|
|
using MedicalDatabaseContracts.Models;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace MedicalView
|
|
{
|
|
public partial class FormDiagnoses : Form
|
|
{
|
|
private ILogger _logger;
|
|
private IStorage<Diagnose> _diagnosesStorage;
|
|
public FormDiagnoses(ILogger<FormDiagnoses> logger, IStorage<Diagnose> diagnosesStorage)
|
|
{
|
|
InitializeComponent();
|
|
_logger = logger;
|
|
_diagnosesStorage = diagnosesStorage;
|
|
}
|
|
|
|
private void FormDiagnoses_Load(object sender, EventArgs e)
|
|
{
|
|
LoadData();
|
|
}
|
|
|
|
private void RefreshToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
LoadData();
|
|
}
|
|
|
|
private void LoadData()
|
|
{
|
|
SetStatusStripText("Загрузка диагнозов...");
|
|
try
|
|
{
|
|
long elapsed;
|
|
var items = _diagnosesStorage.GetAll(out elapsed);
|
|
|
|
dataGridView.DataSource = items;
|
|
dataGridView.Columns["Id"].Visible = false;
|
|
|
|
_logger.LogInformation("Список диагнозов загружен успешно");
|
|
SetStatusStripText($"Готово. Загружено записей: {items.Count}, время загрузки {elapsed} мск");
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
string errorMessage = "Ошибка загрузки списка диагнозов";
|
|
_logger.LogError(string.Join(", ", errorMessage, $"\"{ex.Message}\""));
|
|
MessageBox.Show(string.Join("\n\n", errorMessage, $"{ex.Message}"), "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
SetStatusStripText($"Ошибка загрузки");
|
|
}
|
|
}
|
|
private void SetStatusStripText(string text)
|
|
{
|
|
toolStripStatusLabel.Text = text;
|
|
}
|
|
}
|
|
}
|