using System; using System.Windows.Forms; using Tanshu.Accounts.Repository; using Tanshu.Accounts.Entities; using System.Linq; namespace Tanshu.Accounts.PointOfSale { public partial class TableForm : Form { private Guid? _tableID; public TableForm() { InitializeComponent(); } public TableForm(Guid tableID) : this() { _tableID = tableID; } private void TableForm_Load(object sender, EventArgs e) { if (_tableID.HasValue) { FoodTable foodTable; using (var bi = new FoodTableBI()) foodTable = bi.Get(x => x.FoodTableID == _tableID.Value); txtName.Text = foodTable.Name; txtLocation.Text = foodTable.Location; chkIsActive.Checked = foodTable.IsActive; } else { txtName.Focus(); } } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } private void btnOk_Click(object sender, EventArgs e) { if (IsFormValid()) { using (var bi = new FoodTableBI()) { FoodTable foodTable; if (_tableID.HasValue) { foodTable = bi.Get(x => x.FoodTableID == _tableID.Value); if (foodTable.IsActive && chkIsActive.Checked == false && (foodTable.Status != null || foodTable.VoucherID.HasValue)) { MessageBox.Show("Cannot deactivate a table with running bill"); return; } } else foodTable = new FoodTable(); foodTable.Name = txtName.Text.Trim(); foodTable.IsActive = chkIsActive.Checked; foodTable.Location = txtLocation.Text.Trim(); if (_tableID.HasValue) bi.Update(foodTable); else bi.Insert(foodTable); bi.SaveChanges(); } MessageBox.Show("Update / Save Successful"); this.Close(); } else MessageBox.Show("The form is not valid"); } private bool IsFormValid() { if (string.IsNullOrEmpty(txtName.Text.Trim())) return false; return true; } } }