using System; using System.Windows.Forms; using Tanshu.Accounts.Entities; using Tanshu.Accounts.Repository; namespace Tanshu.Accounts.PointOfSale { public partial class CustomerForm : Form { private Guid? _customerID; private Customer _customer; private readonly string phone; #region Form Load public CustomerForm(Guid? customerID) { InitializeComponent(); this._customerID = customerID; } public CustomerForm(Guid? customerID, string phone) { InitializeComponent(); this._customerID = customerID; this.phone = phone; } private void CustomerForm_Load(object sender, EventArgs e) { if (_customerID.HasValue) { _customer = CustomerBI.Get(_customerID.Value); btnDelete.Enabled = true; txtName.Text = _customer.Name; txtPhone.Text = _customer.Phone; txtAddress.Text = _customer.Address; txtRemarks.Text = _customer.Remarks; chkImportant.Checked = _customer.Important; } else txtPhone.Text = phone; btnSave.Text = _customerID.HasValue ? "&Update" : "&Save"; } #endregion #region Buttons private void btnSave_Click(object sender, EventArgs e) { if (!ValidateValues()) { MessageBox.Show("Missing Information: Please check the form."); txtName.Focus(); } else { Save(); btnCancel_Click(sender, e); } } private void btnDelete_Click(object sender, EventArgs e) { CustomerBI.Delete(_customer.CustomerID); btnCancel_Click(sender, e); } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } #endregion #region Add / Edit / Delete private bool ValidateValues() { return txtName.Text.Trim().Length != 0; } private void Save() { if (_customer == null) _customer = new Customer(); _customer.Name = txtName.Text; _customer.Phone = txtPhone.Text; _customer.Address = txtAddress.Text; _customer.Remarks = txtRemarks.Text; _customer.Important = chkImportant.Checked; if (_customer.CustomerID == Guid.Empty) CustomerBI.Insert(_customer); else CustomerBI.Update(_customer); } private void Delete(Guid customerID) { CustomerBI.Delete(customerID); } #endregion public Customer Customer { get { return _customer; } } } }