c969-project/C969Project/Forms/CustomersForm.cs
2025-06-26 21:10:19 -05:00

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;
}
}