using POSV.Entity; using POSV.Utils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace POSV.Promotion { public partial class PromotionForm : BusinessForm { public PromotionForm() { InitializeComponent(); Getconfig(); } /// /// 验证表单 /// /// private bool VerifyForm() { if (!string.IsNullOrEmpty(this.txtSaleAmt1.Text)) { if (string.IsNullOrEmpty(this.txtSubtractAmt1.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } if (!string.IsNullOrEmpty(this.txtSaleAmt2.Text)) { if (string.IsNullOrEmpty(this.txtSubtractAmt2.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } if (!string.IsNullOrEmpty(this.txtSaleAmt3.Text)) { if (string.IsNullOrEmpty(this.txtSubtractAmt3.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } if (!string.IsNullOrEmpty(this.txtSaleAmt4.Text)) { if (string.IsNullOrEmpty(this.txtDiscountAmt1.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } if (!string.IsNullOrEmpty(this.txtSaleAmt5.Text)) { if (string.IsNullOrEmpty(this.txtDiscountAmt2.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } if (!string.IsNullOrEmpty(this.txtSaleAmt6.Text)) { if (string.IsNullOrEmpty(this.txtDiscountAmt3.Text)) { this.ShowMessage(this.lblInfo, "请填写完整需要设定的值"); return false; } } /* 判断订单金额 */ if (!VerifyValue(this.txtSaleAmt1.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } /* 判断立减金额 */ if (!VerifyValue(this.txtSubtractAmt1.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } /* 判断订单金额 */ if (!VerifyValue(this.txtSaleAmt2.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } /* 判断立减金额 */ if (!VerifyValue(this.txtSubtractAmt2.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } /* 判断订单金额 */ if (!VerifyValue(this.txtSaleAmt3.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } /* 判断立减金额 */ if (!VerifyValue(this.txtSubtractAmt3.Text)) { this.ShowMessage(this.lblInfo, "请输入正确金额值"); return false; } if (!VerifyValue(this.txtDiscountAmt1.Text)) { this.ShowMessage(this.lblInfo, "请输入正确折扣值"); return false; } if (!VerifyValue(this.txtDiscountAmt2.Text)) { this.ShowMessage(this.lblInfo, "请输入正确折扣值"); return false; } if (!VerifyValue(this.txtDiscountAmt3.Text)) { this.ShowMessage(this.lblInfo, "请输入正确折扣值"); return false; } if (!VerifyMaxValue(this.txtDiscountAmt1.Text, 100)) { return false; } if (!VerifyMaxValue(this.txtDiscountAmt2.Text, 100)) { return false; } if (!VerifyMaxValue(this.txtDiscountAmt3.Text, 100)) { return false; } if (!VirtualValue(this.txtSaleAmt1.Text, this.txtSubtractAmt1.Text)) return false; if (!VirtualValue(this.txtSaleAmt2.Text, this.txtSubtractAmt2.Text)) return false; if (!VirtualValue(this.txtSaleAmt3.Text, this.txtSubtractAmt3.Text)) return false; return true; } /// /// 验证值是否为有效数值 /// /// /// public bool VerifyValue(string _val) { if (string.IsNullOrEmpty(_val)) { return true; } decimal _dec = 0.00M; if (decimal.TryParse(_val, out _dec)) { if (_dec <= 0) { return false; } else { return true; } } else { return false; } } public bool VerifyMaxValue(string _val, decimal _max) { if (string.IsNullOrEmpty(_val)) { return true; } decimal _dec = 0.00M; if (decimal.TryParse(_val, out _dec)) { if (_dec <= _max) { return true; } else { this.ShowMessage(this.lblInfo, "折扣值不能大于" + _max); return false; } } else { return false; } } public bool Save() { var config1 = new Config(); config1.Id = IdWorkerUtils.Instance.NextId(); config1.Group = ConfigConstant.CASHIER_GROUP; config1.TenantId = Global.Instance.Authc.TenantId; config1.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT1; config1.Values = this.txtSaleAmt1.Text; var config = new Config(); config.Id = IdWorkerUtils.Instance.NextId(); config.Group = ConfigConstant.CASHIER_GROUP; config.TenantId = Global.Instance.Authc.TenantId; config.Keys = ConfigConstant.CASHIER_KNOCK_THE_AMOUNT1; config.Values = this.txtSubtractAmt1.Text; var config3 = new Config(); config3.Id = IdWorkerUtils.Instance.NextId(); config3.Group = ConfigConstant.CASHIER_GROUP; config3.TenantId = Global.Instance.Authc.TenantId; config3.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT2; config3.Values = this.txtSaleAmt2.Text; var config4 = new Config(); config4.Id = IdWorkerUtils.Instance.NextId(); config4.Group = ConfigConstant.CASHIER_GROUP; config4.TenantId = Global.Instance.Authc.TenantId; config4.Keys = ConfigConstant.CASHIER_KNOCK_THE_AMOUNT2; config4.Values = this.txtSubtractAmt2.Text; var config5 = new Config(); config5.Id = IdWorkerUtils.Instance.NextId(); config5.Group = ConfigConstant.CASHIER_GROUP; config5.TenantId = Global.Instance.Authc.TenantId; config5.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT3; config5.Values = this.txtSaleAmt3.Text; var config6 = new Config(); config6.Id = IdWorkerUtils.Instance.NextId(); config6.Group = ConfigConstant.CASHIER_GROUP; config6.TenantId = Global.Instance.Authc.TenantId; config6.Keys = ConfigConstant.CASHIER_KNOCK_THE_AMOUNT3; config6.Values = this.txtSubtractAmt3.Text; var config7 = new Config(); config7.Id = IdWorkerUtils.Instance.NextId(); config7.Group = ConfigConstant.CASHIER_GROUP; config7.TenantId = Global.Instance.Authc.TenantId; config7.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT4; config7.Values = this.txtSaleAmt4.Text; var config8 = new Config(); config8.Id = IdWorkerUtils.Instance.NextId(); config8.Group = ConfigConstant.CASHIER_GROUP; config8.TenantId = Global.Instance.Authc.TenantId; config8.Keys = ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT1; config8.Values = this.txtDiscountAmt1.Text; var config9 = new Config(); config9.Id = IdWorkerUtils.Instance.NextId(); config9.Group = ConfigConstant.CASHIER_GROUP; config9.TenantId = Global.Instance.Authc.TenantId; config9.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT5; config9.Values = this.txtSaleAmt5.Text; var config10 = new Config(); config10.Id = IdWorkerUtils.Instance.NextId(); config10.Group = ConfigConstant.CASHIER_GROUP; config10.TenantId = Global.Instance.Authc.TenantId; config10.Keys = ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT2; config10.Values = this.txtDiscountAmt2.Text; var config11 = new Config(); config11.Id = IdWorkerUtils.Instance.NextId(); config11.Group = ConfigConstant.CASHIER_GROUP; config11.TenantId = Global.Instance.Authc.TenantId; config11.Keys = ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT6; config11.Values = this.txtSaleAmt6.Text; var config12 = new Config(); config12.Id = IdWorkerUtils.Instance.NextId(); config12.Group = ConfigConstant.CASHIER_GROUP; config12.TenantId = Global.Instance.Authc.TenantId; config12.Keys = ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT3; config12.Values = this.txtDiscountAmt3.Text; try { using (var db = Global.Instance.OpenDataBase) { db.Save(config); db.Save(config1); db.Save(config3); db.Save(config4); db.Save(config5); db.Save(config6); db.Save(config7); db.Save(config8); db.Save(config9); db.Save(config10); db.Save(config11); db.Save(config12); } Global.Instance.ReloadConfig(ConfigConstant.CASHIER_GROUP); } catch (Exception ex) { string message = "报错促销"; LOGGER.Error(ex, message); return false; } return true; } public bool VirtualValue(string _val, string _val1) { decimal _dec = 0.00M; decimal _dec1 = 0.00M; decimal.TryParse(_val, out _dec); decimal.TryParse(_val1, out _dec1); if (_dec >= _dec1) { return true; } else { this.ShowMessage(this.lblInfo, "优惠金额不能大于订单金额"); return false; } } public void Getconfig() { this.txtSaleAmt1.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT1, ""); this.txtSaleAmt2.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT2, ""); this.txtSaleAmt3.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT3, ""); this.txtSaleAmt4.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT4, ""); this.txtSaleAmt5.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT5, ""); this.txtSaleAmt6.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT6, ""); this.txtSubtractAmt1.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_KNOCK_THE_AMOUNT1, ""); this.txtSubtractAmt2.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_KNOCK_THE_AMOUNT2, ""); this.txtSubtractAmt3.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_KNOCK_THE_AMOUNT3, ""); this.txtDiscountAmt1.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT1, ""); this.txtDiscountAmt2.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT2, ""); this.txtDiscountAmt3.Text = Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_DISCOUNT_AMOUNT3, ""); Global.Instance.GlobalConfigStringValue(ConfigConstant.CASHIER_PROMOTION_ORDER_AMOUNT1, ""); } private void pictureBox2_Click(object sender, EventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } private void OnExitTouchClick(object sender, Component.TouchEventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } private void OnOKTouchClick(object sender, Component.TouchEventArgs e) { if (VerifyForm()) { if (Save()) { this.ShowMessage(this.lblInfo, "保存成功"); } else { this.ShowMessage(this.lblInfo, "保存失败"); } } } } }