102 lines
2.9 KiB
C#
102 lines
2.9 KiB
C#
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; }
|
|
}
|
|
}
|
|
}
|