using System; using System.Windows.Forms; using Tanshu.Accounts.Repository; using Tanshu.Accounts.Contracts; using Tanshu.Accounts.Entities; using Tanshu.Accounts.Entities.Auth; namespace Tanshu.Accounts.PointOfSale { public partial class CustomersForm : Form { private int? _customerID; private Customer _customer; private readonly string phone; #region Form Load public CustomersForm(int? customerID, string phone) { InitializeComponent(); this._customerID = customerID; this.phone = phone; } private void CustomersForm_Load(object sender, EventArgs e) { if (_customerID.HasValue) { using (var bi = new CustomerBI(false)) _customer = bi.Get(x => x.CustomerID == _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) { using (var bi = new CustomerBI()) bi.Delete(x => x.CustomerID == _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; using (var bi = new CustomerBI()) if (_customer.CustomerID == 0) bi.Insert(_customer); else bi.Update(_customer); } private void Delete(int customerID) { using (var bi = new CustomerBI()) bi.Delete(x => x.CustomerID == customerID); } #endregion public Customer Customer { get { return _customer; } } } }