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; using DevComponents.DotNetBar.Controls; using POSV.Component; using POSV.Entity; using POSV.ShoppingCart; using POSV.Utils; namespace POSV.Business { public partial class DiscountDialogForm : BusinessForm { private DiscountPanelEx discountPanelEx; /// /// 操作员默认的最大折扣率 /// private decimal MaxDiscountRate = Global.Instance.Worker.MaxDiscountRate; /// /// 当前选择的记录,单品折扣依赖 /// private readonly OrderItem _orderItem = null; /// /// 整单的记录,,整单折扣依赖 /// private readonly OrderObject _orderObject = null; /// /// 权限控制码 /// private string _permissionCode = string.Empty; /// /// 授权人信息 /// private Tuple , Worker> _authz = null; public DiscountDialogForm(ModuleKeyCode keyCode , OrderItem orderItem , OrderObject orderObject , string permissionCode , Tuple , Worker> authz = null) { InitializeComponent(); this._orderItem = orderItem; this._orderObject = orderObject; this._permissionCode = permissionCode; this._authz = authz; this.discountPanelEx = new DiscountPanelEx(keyCode,orderItem , orderObject , permissionCode , AuthOperator.输入操作 , authz); this.discountPanelEx.Dock = System.Windows.Forms.DockStyle.Fill; this.discountPanelEx.Location = new System.Drawing.Point(0 , 0); this.discountPanelEx.Name = "discountPanelEx"; this.discountPanelEx.Padding = new System.Windows.Forms.Padding(2); this.Controls.Add(this.discountPanelEx); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (this.DesignMode) return; this.SetStyle(ControlStyles.Selectable , true); this.ActiveControl = this.discountPanelEx; this.discountPanelEx.AcceptButtonClick += OnAcceptButtonClick; this.discountPanelEx.CancelButtonClick += OnCancelButtonClick; } private void OnCancelButtonClick(object sender , FlyoutEventArgs e) { OnControlBoxCloseClick(sender , EventArgs.Empty); } private void OnAcceptButtonClick(object sender , FlyoutEventArgs e) { switch (e.KeyCode) { case "item": { this.OnAcceptButtonClick(new TransparentEventArgs(TransparentAction.Accept , e.KeyCode , e.Data)); } break; case "order": { this.OnAcceptButtonClick(new TransparentEventArgs(TransparentAction.Accept , e.KeyCode , e.Data)); } break; } OnControlBoxCloseClick(sender , EventArgs.Empty); } private void OnControlBoxCloseClick(object sender , EventArgs e) { if (this.Owner != null) { this.Owner.Close(); } this.Close(); } } }