PIBD14-Boyko-M.S.-GSM-Autot.../ProjectGSM/Forms/FormStatusHistory.cs

59 lines
1.9 KiB
C#
Raw Normal View History

2024-11-05 03:59:13 +04:00
using ProjectGSM.Entities;
using ProjectGSM.Repositories;
namespace ProjectGSM.Forms
{
public partial class FormStatusHistory : Form
{
private readonly IStatusHistoryRepository _statusHistoryRepository;
public FormStatusHistory(IStatusHistoryRepository statusHistoryRepository,
IStatusRepository statusRepository, ICaseRepository caseRepository)
{
InitializeComponent();
_statusHistoryRepository = statusHistoryRepository ??
throw new
ArgumentNullException(nameof(statusHistoryRepository));
try
{
caseBox.DataSource = caseRepository.ReadCases();
caseBox.DisplayMember = "Name";
caseBox.SelectedIndex = 0;
}
catch (Exception ex) { }
try
{
statusBox.DataSource = statusRepository.ReadStatuses();
statusBox.DisplayMember = "Name";
statusBox.SelectedIndex = 0;
}
catch (Exception ex) { }
}
private void saveButton_Click(object sender, EventArgs e)
{
try
{
if (caseBox.SelectedIndex < 0 || statusBox.SelectedIndex < 0)
{
throw new Exception("Имеются незаполненные поля");
}
_statusHistoryRepository.CreateStatusHistory(StatusHistory.CreateEntity(caseBox.SelectedIndex, statusBox.SelectedIndex, dateTimePicker1.Value));
Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Ошибка при сохранении",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void cancelButton_Click(object sender, EventArgs e) => Close();
}
}