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#

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, "保存失败");
}
}
}
}
}