public void execute(Form hander) { MainForm mf = hander as MainForm; if (ViewUtil.IsEmptyOrder(mf)) { return; } PayListForm form = new PayListForm(showPayDialog); form.listBox1.SelectedValue = typeCode; DialogResult dr = form.ShowDialog(); if (dr == DialogResult.Cancel) //非正常关闭不做任何处理 { logger.Debug("PayListForm close by esc"); } else { SystemInfo.LastOrderId = SystemInfo.CurrentOrderId; saleOrderService.updateState(SystemInfo.CurrentOrderId, OrderState.Payed.ToString()); SaleOrder order = saleOrderService.getOrderEntityById(SystemInfo.CurrentOrderId); if (SystemInfo.MQ_STATE) //MQ连接存在发送同步消息 { logger.Debug("Send sync message Order code is " + order.ordercode); MessageSender.getInstance().asyncSendMessage(order); } mf.presenter.init(); } if (mf != null) { mf.barcodeInput.Text = ""; } }