84 lines
2.1 KiB
C#

using LDBproject.Repositories;
using Unity;
namespace LDBproject.AdditionalForms;
public partial class OrdersF : Form
{
private readonly IUnityContainer _container;
private readonly IOrderRep _regR;
public OrdersF(IUnityContainer container, IOrderRep regR)
{
InitializeComponent();
_regR = regR ?? throw new ArgumentNullException(nameof(regR));
_container = container ?? throw new ArgumentNullException(nameof(container));
}
private void RegistrationsF_Load(object sender, EventArgs e)
{
try
{
ReloadList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "[ Error while saving ]", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void AddBtn_Click(object sender, EventArgs e)
{
try
{
_container.Resolve<RegOrderF>().ShowDialog();
ReloadList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "[ Error while adding element ]", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void DelBtn_Click(object sender, EventArgs e)
{
if (!GetIDFromRow(out var foundID))
{
return;
}
if (MessageBox.Show("Remove element?", "Deleting", MessageBoxButtons.YesNo) != DialogResult.Yes)
{
return;
}
try
{
_regR.DeleteOrderinfo(foundID);
ReloadList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "[ Error while removing element ]", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void ReloadList() =>
DataGV.DataSource = _regR.GetOrdersInfo();
private bool GetIDFromRow(out int id)
{
id = 0;
if (DataGV.SelectedRows.Count < 1)
{
MessageBox.Show("[ Error : element doesn't exist ]", "<ERROR>",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
id = Convert.ToInt32(DataGV.SelectedRows[0].Cells["OrderID"].Value);
return true;
}
}