58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
using C969Project.Data;
|
|
using C969Project.Data.Models;
|
|
|
|
namespace C969Project;
|
|
|
|
public partial class CustomersForm : Form
|
|
{
|
|
private List<Customer>? _customers;
|
|
private AddUpdateCustomerForm _form = new();
|
|
|
|
public CustomersForm()
|
|
{
|
|
InitializeComponent();
|
|
UpdateCustomersList(null, EventArgs.Empty);
|
|
|
|
Shown += UpdateCustomersList;
|
|
|
|
_form.UpdateCustomersList += UpdateCustomersList;
|
|
|
|
AddButton.Click += (sender, args) =>
|
|
{
|
|
_form.InitAdd();
|
|
};
|
|
|
|
ModifyButton.Click += (sender, args) =>
|
|
{
|
|
if (_customers is null) return;
|
|
var selectedCustomer = _customers[CustomersDataGrid.CurrentCell.RowIndex];
|
|
_form.InitUpdate(selectedCustomer);
|
|
};
|
|
|
|
DeleteButton.Click += (sender, args) =>
|
|
{
|
|
if (CustomersDataGrid.CurrentCell is null || CustomersDataGrid.CurrentCell.RowIndex > _customers?.Count)
|
|
{
|
|
MessageBox.Show("Please select a customer to delete");
|
|
return;
|
|
}
|
|
|
|
var selectedCustomer = _customers?[CustomersDataGrid.CurrentCell.RowIndex];
|
|
|
|
var result = MessageBox.Show("Are you sure you want to delete this record?", "Delete Record", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
|
if (result == DialogResult.OK)
|
|
{
|
|
_customers.Remove(selectedCustomer);
|
|
DatabaseHelper.DeleteCustomer(selectedCustomer);
|
|
UpdateCustomersList(null, EventArgs.Empty);
|
|
}
|
|
};
|
|
}
|
|
|
|
public void UpdateCustomersList(object? sender, EventArgs args)
|
|
{
|
|
if (_customers != null && _customers.Count > 0) _customers.Clear();
|
|
_customers = DatabaseHelper.RetrieveCustomers();
|
|
CustomersDataGrid.DataSource = _customers;
|
|
}
|
|
} |