using System; using System.Windows.Forms; using Tanshu.Accounts.Repository; using Tanshu.Accounts.Entities; using System.Linq; namespace Tanshu.Accounts.PointOfSale { public partial class ProductGroupForm : Form { private Guid? _productGroupID; public ProductGroupForm(Guid? productGroupID) { _productGroupID = productGroupID; InitializeComponent(); } private void ProductGroupForm_Load(object sender, EventArgs e) { if (_productGroupID.HasValue) { ProductGroup productGroup; productGroup = ProductGroupBI.Get(_productGroupID.Value); txtProductGroupID.Text = _productGroupID.Value.ToString(); txtName.Text = productGroup.Name; txtDiscountLimit.Text = productGroup.DiscountLimit.ToString(); chkModifierCompulsory.Checked = productGroup.IsModifierCompulsory; txtGroupType.Text = productGroup.GroupType; chkIsActive.Checked = productGroup.IsActive; } else { txtProductGroupID.Text = "(Auto)"; txtName.Focus(); } } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } private void btnOk_Click(object sender, EventArgs e) { var productGroup = IsFormValid(); if (productGroup != null) { if (_productGroupID.HasValue) ProductGroupBI.Update(productGroup); else ProductGroupBI.Insert(productGroup); MessageBox.Show("Update / Save Successful"); this.Close(); } else MessageBox.Show("The form is not valid"); } private ProductGroup IsFormValid() { var productGroup = new ProductGroup(); if (_productGroupID.HasValue) productGroup.ProductGroupID = _productGroupID.Value; if (string.IsNullOrEmpty(txtName.Text.Trim())) return null; productGroup.Name = txtName.Text.Trim(); decimal discount; if (!decimal.TryParse(txtDiscountLimit.Text, out discount)) return null; if (discount < 0 || discount > 1) return null; productGroup.DiscountLimit = discount; productGroup.IsModifierCompulsory = chkModifierCompulsory.Checked; productGroup.IsActive = chkIsActive.Checked; if (string.IsNullOrEmpty(txtGroupType.Text.Trim())) return null; productGroup.GroupType = txtGroupType.Text.Trim(); return productGroup; } } }