using DevComponents.DotNetBar.Controls; using POSV.ShoppingCart; using POSV.StoreBusiness; 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.Component { public partial class CouponCheckDialogForm : BusinessForm { PromotionEntity _promotionEntity = null; public CouponCheckDialogForm(PromotionEntity promotionEntity) { InitializeComponent(); this._promotionEntity = promotionEntity; //券码焦点 this.txtCode.Multiline = false; this.txtCode.Focus(); this.txtCode.Select(); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (DesignMode) return; } private void OnCloseTouchClick(object sender, TouchEventArgs e) { this.Close(); } private void OnCloseClick(object sender, EventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } private bool ValidateInputValue() { if (string.IsNullOrEmpty(this.txtCode.Text.Trim())) { DialogForm.ShowAlert(this, "操作提示", "请输入券码..."); this.txtCode.Focus(); this.txtCode.SelectAll(); return false; } return true; } private void OnEnterClick(object sender, EnterEventArg e) { var valid = ValidateInputValue(); if (valid) { StoreCouponCheckRequest request = new StoreCouponCheckRequest(); request.CouponCode = this.txtCode.Text; var response = StoreBusinessUtils.StoreCouponCheckOut(request); if (response != null && response.Item1) { //携带赠数量和赠原因返回 Tuple result = new Tuple(this.txtCode.Text, this._promotionEntity); //通知界面刷新 this.OnAcceptButtonClick(new TransparentEventArgs(TransparentAction.Accept, e.Value, result)); //关闭当前窗口 this.OnCloseClick(this, EventArgs.Empty); } else { DialogForm.ShowAlert(this, "操作提示", response.Item2); } } } private void OnTouchClick(object sender, TouchEventArgs e) { switch (e.Value) { case "clear": //如果当前焦点控件是输入框 if (this.ActiveControl is TextBoxX) { var activeControl = this.ActiveControl as TextBoxX; activeControl.Text = string.Empty; } break; case "accept": //验证通过 { var valid = ValidateInputValue(); if (valid) { StoreCouponCheckRequest request = new StoreCouponCheckRequest(); request.CouponCode = this.txtCode.Text; var response = StoreBusinessUtils.StoreCouponCheckOut(request); if (response != null && response.Item1) { //携带赠数量和赠原因返回 Tuple result = new Tuple(this.txtCode.Text, this._promotionEntity); //通知界面刷新 this.OnAcceptButtonClick(new TransparentEventArgs(TransparentAction.Accept, e.Value, result)); //关闭当前窗口 this.OnCloseClick(this, EventArgs.Empty); } else { DialogForm.ShowAlert(this, "操作提示", response.Item2); } } } break; default: { InputSimulatorUtils.SendKey(KeyCodes.Map[e.Value]); } break; } } } }