You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
426 lines
14 KiB
C#
426 lines
14 KiB
C#
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();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证表单
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 验证值是否为有效数值
|
|
/// </summary>
|
|
/// <param name="_val"></param>
|
|
/// <returns></returns>
|
|
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, "保存失败");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|